求正则表达式 匹配a标签的值和href

时间:2021-02-11 05:36:25

<dd>



<a href="http://so.letv.com/list/c1_t-1_a-1_y-1_f_at_o1_p.html"

   id="iq">

全部</a>



<a href="http://so.letv.com/list/c1_t8_a-1_y-1_f_at_o1_p.html"

   class='on'  id="iq">

剧情</a>



<a href="http://so.letv.com/list/c1_t9_a-1_y-1_f_at_o1_p.html"

   id="iq">

喜剧</a>



<a href="http://so.letv.com/list/c1_t10_a-1_y-1_f_at_o1_p.html"

   id="iq">

动作</a>



<a href="http://so.letv.com/list/c1_t11_a-1_y-1_f_at_o1_p.html"

   id="iq">

爱情</a>



<a href="http://so.letv.com/list/c1_t12_a-1_y-1_f_at_o1_p.html"

   id="iq">

恐怖</a>



<a href="http://so.letv.com/list/c1_t13_a-1_y-1_f_at_o1_p.html"

   id="iq">

动画</a>



<a href="http://so.letv.com/list/c1_t14_a-1_y-1_f_at_o1_p.html"

   id="iq">

战争</a>



<a href="http://so.letv.com/list/c1_t15_a-1_y-1_f_at_o1_p.html"

   id="iq">

惊悚</a>



<a href="http://so.letv.com/list/c1_t16_a-1_y-1_f_at_o1_p.html"

   id="iq">

悬疑</a>



<a href="http://so.letv.com/list/c1_t17_a-1_y-1_f_at_o1_p.html"

   id="iq">

奇幻</a>



<a href="http://so.letv.com/list/c1_t18_a-1_y-1_f_at_o1_p.html"

   id="iq">

犯罪</a>



<a href="http://so.letv.com/list/c1_t19_a-1_y-1_f_at_o1_p.html"

   id="iq">

冒险</a>



<a href="http://so.letv.com/list/c1_t20_a-1_y-1_f_at_o1_p.html"

   id="iq">

科幻</a>



<a href="http://so.letv.com/list/c1_t21_a-1_y-1_f_at_o1_p.html"

   id="iq">

警匪</a>



<a href="http://so.letv.com/list/c1_t22_a-1_y-1_f_at_o1_p.html"

   id="iq">

武侠</a>



<a href="http://so.letv.com/list/c1_t23_a-1_y-1_f_at_o1_p.html"

   id="iq">

灾难</a>



<a href="http://so.letv.com/list/c1_t24_a-1_y-1_f_at_o1_p.html"

   id="iq">

伦理</a>



<a href="http://so.letv.com/list/c1_t25_a-1_y-1_f_at_o1_p.html"

   id="iq">

歌舞</a>



<a href="http://so.letv.com/list/c1_t26_a-1_y-1_f_at_o1_p.html"

   id="iq">

家庭</a>



<a href="http://so.letv.com/list/c1_t27_a-1_y-1_f_at_o1_p.html"

   id="iq">

纪录</a>



<a href="http://so.letv.com/list/c1_t153_a-1_y-1_f_at_o1_p.html"

   id="iq">

历史</a>



<a href="http://so.letv.com/list/c1_t154_a-1_y-1_f_at_o1_p.html"

   id="iq">

短片</a>



<a href="http://so.letv.com/list/c1_t155_a-1_y-1_f_at_o1_p.html"

   id="iq">

传记</a>



<a href="http://so.letv.com/list/c1_t156_a-1_y-1_f_at_o1_p.html"

   id="iq">

体育</a>



</dd>



5 个解决方案

#1


自己写的一个匹配不到。
 preg_match_all('/<a[^>] href="([\s\S]*?)".*>([\s\S]*?)<\/a>/isU' ,$matches[0][0], $res);

#2


$exp='#<a href="([^"]+)"[^>]*>\s*([^<]+)</a>#is';

#3


用Notepad++检查的,
新版已支持 PCRE 和多行匹配, 
你可以下载来练正则 :)

#4


 preg_match_all('/<a[^>]*href="([^"]*)"[^>]*>(.*)<\/a>/isU' ,$matches[0][0], $res);

#5


好的
引用 3 楼  的回复:
用Notepad++检查的,
新版已支持 PCRE 和多行匹配, 
你可以下载来练正则 :)

#1


自己写的一个匹配不到。
 preg_match_all('/<a[^>] href="([\s\S]*?)".*>([\s\S]*?)<\/a>/isU' ,$matches[0][0], $res);

#2


$exp='#<a href="([^"]+)"[^>]*>\s*([^<]+)</a>#is';

#3


用Notepad++检查的,
新版已支持 PCRE 和多行匹配, 
你可以下载来练正则 :)

#4


 preg_match_all('/<a[^>]*href="([^"]*)"[^>]*>(.*)<\/a>/isU' ,$matches[0][0], $res);

#5


好的
引用 3 楼  的回复:
用Notepad++检查的,
新版已支持 PCRE 和多行匹配, 
你可以下载来练正则 :)