[请益] 爬虫 preg_match_all 问题

楼主: liisi (小心一点)   2018-04-24 00:31:45
各位版友晚安
有问题想请教各位
假设 $html 是网页的 html
我要抓在这些class底下 <a> 里面 href的连结 (会有多笔)
<div class="a1_class">
<h3 class="a2_class a3_class">
<a href="http://xxxxxxxxxxxxxxxxxx">文字文字文字</a>
<h3>
$preg = '/<div class="a1_class">.*?<h3 class="a2_class a3_class">.*?
<a .*? href="(.*?)">/s</a>.*?</h3>';
preg_match_all($preg,$html,$match);
可是我 输出 $match 却没有内容
想请教一下 我是否哪边有写错
作者: MOONRAKER (㊣牛鹤鳗毛人)   2018-04-24 10:36:00
用 / 开头 最后没有 / 中间却有好几个没escape这样没有错误讯息 不可思议https://www.regextester.com/ 这个站不错要用regex先自己在上面玩一玩还有抓HTML内容 simplehtmldom卡实在
楼主: liisi (小心一点)   2018-04-24 11:22:00
我刚用这网站 先用 <div class=\"a1_class\"> 有match到但是如果之后继续加上 .*?<h3 就没有任何match了是换行问题吗 囧rz
作者: MOONRAKER (㊣牛鹤鳗毛人)   2018-04-24 12:09:00
换行很烦 就这个而言改用 \s* 就可以继续match不过通常看到多行就会想别的方法了

Links booklink

Contact Us: admin [ a t ] ucptt.com