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