php截取html
A. 在一个html文件中怎样使用php截取字符串
<?php
$str="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
echo"原字符串:".$str."<br>";
//按各种方式进行截取
$str1=substr($str,5);
echo"从第5个字符开始取至最后:".$str1."<br>";
$str2=substr($str,9,4);
echo"从第9个字符开始取4个字符:".$str2."<br>";
$str3=substr($str,-5);
echo"取倒数5个字符:".$str3."<br>";
$str4=substr($str,-8,4);
echo"从倒数第8个字符开始向后取4个字符:".$str4."<br>";
$str5=substr($str,-8,-2);
echo"从倒数第8个字符开始取到倒数第2个字符为止:".$str5;
?>
B. php如何快速获取其它网页的html源码,如何截取某一特定部分
$url = "http://20.08.cn/?beijing";
$r = file_get_contents($url);
下面用证则表达式。。替换即可!
C. php正则表达来获取html中的部分内容
1、几种函数的简单说明:
(1)preg_grep -- 返回与模式匹配的数组单元
preg_grep 返回一个input 数组中与给定的 pattern 模式相匹配的单元所组成的数组。
(2)preg_match -- 进行正则表达式匹配
说明:int preg_match ( string pattern, string subject [, array matches [, int flags]] )在 subject 字符串中搜索与 pattern 给出的正则表达式相匹配的内容。 返回值0或1。
(3)preg_replace -- 执行正则表达式的搜索和替换
(4)preg_split -- 用正则表达式分割字符串
2. 一般来说,如果用正则来获取匹配内容,一般使用 preg_match/ preg_match_all 函数。
补充回答:
正则表达式如下:
'%<div class="wap2"><span>功能</span>(.*?)</div>%si'
以下是代码,经测试,运行正常:
<?php
$str = '<div class="wap2"><span>功能</span>这里面是要获取的内容,不能确定什么字符,可能是数字(123456…)字母(badn…),特殊浮等(o_O\(^o^)/…)</div>';
$pa = '%<div class="wap2"><span>功能</span>(.*?)</div>%si';
preg_match($pa,$str,$r);
echo $r[1];
?>
D. php正则提取HTML中的内容
那就无需正则了!
php本身就有一个函数:strip_tags()
这个函数有2个参数
第一个:需要过滤的字符串, 在这里也就是你说的html, 这个函数必须
第二个:要保留的html标签, 就是设置你不想过滤掉的html标签, 这个函数可选!
在第二个参数缺省的情况下, 会将所有html标签过滤掉!
还要什么正则呢???
E. php正则表达式截取HTML标签中的内容
header('content-type:text/html;charset=utf-8');
$str='<li><ahref="/news1397/"title="1827年3月5日意大利物理学家伏打逝世">1827年3月5日意大利物理学家伏打逝世</a></li>
<li><ahref="/news1398/"title="1871年3月5日波兰女革命家卢森堡诞辰">1871年3月5日波兰女革命家卢森堡诞辰</a></li>
<li><ahref="/news1399/"title="1886年3月5日董必武诞辰">1886年3月5日董必武诞辰</a>(图)</li>';
preg_match_all('/<a.*>(.*)</a>/im',$str,$matches);
var_mp($matches[1]);
F. php用正则获取html标签内容
推荐使用querylist
<?php
header("Content-type:text/html;charset=utf-8");
require'QueryList/QueryList.class.php';
$url="要抓取的网站";
$reg=array(
"title"=>array("a","text"),
"src"=>array("a","href"),
);
//$rang="[id^=post-]";
$hj=QueryList::Query($url,$reg);
print_r($hj->jsonArr);
G. php截取指定html标签之间的字符串
$strPath = '这个html的路径';
curl_setopt ($ch, CURLOPT_URL, $strPath);
curl_setopt ($ch, CURLOPT_HEADER, 1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$contents = curl_exec($ch);
if($contents){
$intH1start= strpos($contents, '<h1>');//这样的前提是这个页面只有一个<h1>标签
$intH1end = strpos($contents, '</h1>');//如果有多个则会取不准
$strH1 = substr(contents,$intH1start,$intH1end);
}
试试以上的方法,如果可以的话请采纳,有问题的话,请追问或留言
H. php抓取网页的部分html代码如何替换
以下为示例代码:
<?php
$string='<emclass="blue">';
$pattern='/<emclass="blue">/i';
$replacement='';
preg_replace($pattern,$replacement,$string);
$str1=str_replace('<emclass="blue">','',$string);
echo'str1:'.$str1;
?>
提示:通常情况下,如果能用字符串处理函数的尽量不要用正则来处理,影响效率。