扫码关注官方订阅号
$html = <<title EOF; $isMatched = preg_match('/(.*?)<\/a>/', $html, $matches);
我用这个代码最后匹配出来的是从title中间的内容最后输出的结果a.php?u=ABjhpIVC;b=5" onmousedown="return rwt(AFQjCNH3RnE94GMEJkoxp0Iy1fSbpjbbwQ)我想要获取第一个双引号到第二个引号中间的内容,也就是a 标签href=的内容并不需要获取从第一个引号到最后一个双引号中间的内容,请问大家我这段代码怎么修改才能匹配出来?
学习是最好的投资!
那你就要用贪婪匹配咯~/<a(.*?)href="(.*)">(.*?)<\/a>/你用.*?后面跟"他只要匹配到下一字符是"就停止了
/<a(.*?)href="(.*)">(.*?)<\/a>/
.*?
"
是用禁止贪婪匹配U个人经验 你写正则的时候都加上Uis
'/<a.*href="(.*)".*>(.*)</a>/iU',href后边还有属性呢,不写上匹配不到的
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
那你就要用贪婪匹配咯~
/<a(.*?)href="(.*)">(.*?)<\/a>/你用
.*?后面跟"他只要匹配到下一字符是"就停止了是用禁止贪婪匹配U
个人经验 你写正则的时候都加上Uis
'/<a.*href="(.*)".*>(.*)</a>/iU',href后边还有属性呢,不写上匹配不到的