首页 > php正则匹配后下一个引号问题

php正则匹配后下一个引号问题

$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>/
你用.*?后面跟"他只要匹配到下一字符是"就停止了

【热门文章】
【热门文章】