$html = <<<EOF
<a href="a.php?u=ABjhpIVC;b=5" onmousedown="return rwt(AFQjCNH3RnE94GMEJkoxp0Iy1fSbpjbbwQ)">title</a>
EOF;
$isMatched = preg_match('/<a(.*?)href="(.*?)">(.*?)<\/a>/', $html, $matches);
我用这个代码最后匹配出来的是从<a href="
到
">title中间的内容
最后输出的结果
a.php?u=ABjhpIVC;b=5" onmousedown="return rwt(AFQjCNH3RnE94GMEJkoxp0Iy1fSbpjbbwQ)
我想要获取第一个双引号到第二个引号中间的内容,也就是a 标签href=的内容
并不需要获取从第一个引号到最后一个双引号中间的内容,请问大家我这段代码怎么修改才能匹配出来?
'/<a.*href="(.*)".*>(.*)</a>/iU',href后边还有属性呢,不写上匹配不到的
是用禁止贪婪匹配U
个人经验 你写正则的时候都加上Uis
那你就要用贪婪匹配咯~/<a(.*?)href="(.*)">(.*?)<\/a>/
你用.*?
后面跟"
他只要匹配到下一字符是"
就停止了