当前位置:首页 » 编程语言 » php正则网页内容

php正则网页内容

发布时间: 2022-08-08 23:16:41

❶ 关于php正则提取网页信息

用 int preg_match( string pattern, string subject [, array matches ] ) 来处理,实现过程我就不写了,没有验环境,下面说下思路。

用$str读入采集结果,preg_match_all("/<[^>]+.+>/", $str,$split_word)分割采集结果,得到数组$split_word,结果应该是这样子的:
$split_word[0]="<li><table><tr>"
$split_word[1]=" <td width="574"><a href="detailnew.jsp?id=803088">驻村干部</a></td>"
……
然后逐个对数组元素进行查找,首先循环查找条件1 id号:
preg_match("/id=\d+/i",$split_word[n],$id_value)
匹配的结果是数组$id_value,类似$id_value[0]="id=xxxxx",如果你要提取纯数字,还要再对这个结果提取一次。
其余字段提取仿照上面操作,对应的正则表达式:
链接标题先提取/<a[^>]+>\w+<\/a>/i, 然后再从结果中提取< /[x80-xff>]{4,}/i (即匹配四个汉字以上,汉字GBK/GB2312编码是:[x80-xff>],UTF-8编码:[x{4e00}-x{9fa5}]+/u,这一点要注意)

……

思路就是这样,比较烦人,没有下一子能就匹配所有信息的正则表达式。

❷ php 正则获取网站内容

我写好了,用Dreamweaver调试过,可以匹配。

先用下面正则提取需要的代码段:

DrawResult.+?>(d{1,2})</td>.+?>(d{1,2})</td>.+?>(d{1,2})</td>.+?>(d{1,2})</td>.+?>(d{1,2})</td>.+?>(d{1,2})</td>

再用正则替换,把该内容中除了数字以外的代码去除:

替换成$1,$2,$3,$4,$5,$6 即可得到 4,7,8,33,36,43

❸ php 正则表达式 匹配网站内容

<div class="nav" monkey="nav">和<div class="head-ad">之间的所有源码,用 preg_match 就可以,不用preg_match_all ,如果你要里面的所有的 <li></li>标签中的内容,可以用preg_match_all

//提取所有代码

$pattern = '/<div class="nav" monkey="nav">(.+?)<div class="head-ad">/is';

preg_match($pattern, $string, $match);

//$match[0] 即为<div class="nav" monkey="nav">和<div class="head-ad">之间的所有源码

echo $match[0];

  • //然后再提取<li></li>之间的内容

$pattern = '/<li.*?>(.+?)</li>/is';

preg_match_all($pattern, $match[0], $results);

$new_arr=array_unique($results[0]);

foreach($new_arr as $kkk){

echo $kkk;

}

❹ PHP如何正则表达式提取网页内容

如果你要<div class="nav" monkey="nav">和<div class="head-ad">之间的所有源码,用 preg_match 就可以,不用preg_match_all ,如果你要里面的所有的 <li></li>标签中的内容,可以用preg_match_all

//提取所有代码
$pattern = '/<div class="nav" monkey="nav">(.+?)<div class="head-ad">/is';
preg_match($pattern, $string, $match);
//$match[0] 即为<div class="nav" monkey="nav">和<div class="head-ad">之间的所有源码
echo $match[0];

//然后再提取<li></li>之间的内容
$pattern = '/<li.*?>(.+?)<\/li>/is';

preg_match_all($pattern, $match[0], $results);
$new_arr=array_unique($results[0]);

foreach($new_arr as $kkk){
echo $kkk;

}

❺ php中正则 匹配网页中的内容!

一个专门查询 板块标题的信息SQL语句
一个查询该板块下详细信息的 SQL语句
把结果输出即可
使用PHP中自带的HTML格式输出
祝你成功

❻ PHP正则表达网页内容的问题

试试这个。
$test = '<span class="title">ABCDEFG(123456)</span>';
$pattern = '/\((.*)\)<\/span>/';
preg_match_all($pattern,$test,$out);
print_r($out[1][0]);

❼ 关于php正则提取一个网页的某一大段内容。 比如某个div标签中的所有内容,包括这个div内的所有符号

正则会比较麻烦吧,可以使用 simple_html_dom.php 解析HTML,很容易定位到要取的内容。

❽ php 用正则表达式提取网页内容

java">$str='<liclass="blackArea"data-sourcelatest-elem="item"data-tvid="694641300"data-vid=""data-idx="4"data-sourcelatest-month=""data-delegate="videoPlayList">

<pclass="video_positionvideo_rb"><spanclass="v_name"rseat="xj_ty3">第2017-06-08期</span></p>

<h3><atitle="微体兔新版馋嘴小面"href="javascript:void(0);"rseat="xj_vn3">微体兔新版馋嘴小面</a></h3>

</li>';
$pattern="/[sS]*<li[^>]+data-tvid[="']+([^"']*)["'][^>]*data-vid[="']+([^"']*)["'][sS]*/i";
$tvid=preg_replace($pattern,"$1",$str);
$vid=preg_replace($pattern,"$2",$str);
$reg="/[sS]*<p[^>]*>((?:(?!</p>)[sS])*)</p>[sS]*/i";
$p=preg_replace($reg,"$1",$str);
$reg="/[sS]*<h3[^>]*>((?:(?!</h3>)[sS])*)</h3>[sS]*/i";
$h3=preg_replace($reg,"$1",$str);
echo$tvid." ".$vid." ".$p." ".$h3;

❾ php正则表达式怎么抓取网页数据

会用正则就会抓取。
不会正则,一时半会也教不错。
不过,推荐你使用phpQuery这个框架,用jQuery的使用器来抓取数据。

❿ php正则匹配网站内容

$_SERVER["QUERY_STRING"];获取到参数
然后用explode()函数分隔‘/’
得到参数。然后就是对应的查询判断了

热点内容
终端配置账号该如何改密码 发布:2024-05-05 11:24:37 浏览:823
成都存储研发招聘 发布:2024-05-05 11:24:29 浏览:283
电脑服务器名称怎么查找 发布:2024-05-05 10:49:37 浏览:469
电脑连到代理服务器 发布:2024-05-05 10:40:02 浏览:249
华为安卓手机如何投屏到雷克萨斯 发布:2024-05-05 10:37:50 浏览:210
微博上传原图 发布:2024-05-05 10:20:05 浏览:749
服务器换电脑需要什么东西 发布:2024-05-05 09:52:28 浏览:754
老算盘算法 发布:2024-05-05 09:43:10 浏览:841
ps存储显示不含通道 发布:2024-05-05 09:32:35 浏览:103
如何用安卓做一个识物界面表 发布:2024-05-05 09:29:28 浏览:99