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

<liclass="blackArea"data-sourcelatest-elem="item"data-tvid="694641300"data-vid="7b0b5... <li class="blackArea" data-sourcelatest-elem="item" data-tvid="694641300" data-vid="7b0b59d2ef0cb1152368ca9be9a4ae76" data-idx="4" data-sourcelatest-month="" data-delegate="videoPlayList">

<p class="video_position video_rb"><span class="v_name" rseat="xj_ty3">第2017-06-08期</span></p>

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

</li>

怎么提取<li>中的data-tvid,data-vid,以及<p>和<h3>中的内容呢
展开
 我来答
yugi111
2017-06-27 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
$str = '<li class="blackArea" data-sourcelatest-elem="item" data-tvid="694641300" data-vid="7b0b59d2ef0cb1152368ca9be9a4ae76" data-idx="4" data-sourcelatest-month="" data-delegate="videoPlayList">

<p class="video_position video_rb"><span class="v_name" rseat="xj_ty3">第2017-06-08期</span></p>

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

</li>';
$pattern = "/[\s\S]*<li[^>]+data-tvid[=\"\']+([^\"\']*)[\"\'][^>]*data-vid[=\"\']+([^\"\']*)[\"\'][\s\S]*/i";
$tvid = preg_replace($pattern, "$1", $str);
$vid = preg_replace($pattern, "$2", $str);
$reg = "/[\s\S]*<p[^>]*>((?:(?!<\/p>)[\s\S])*)<\/p>[\s\S]*/i";
$p = preg_replace($reg, "$1", $str);
$reg = "/[\s\S]*<h3[^>]*>((?:(?!<\/h3>)[\s\S])*)<\/h3>[\s\S]*/i";
$h3 = preg_replace($reg, "$1", $str);
echo $tvid."\n".$vid."\n".$p."\n".$h3;
abccccaf
2017-06-27 · TA获得超过845个赞
知道小有建树答主
回答量:912
采纳率:86%
帮助的人:262万
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式