php中正则匹配只要使用这两个函数:
preg_match_all
preg_match
这里使用preg_match_all,代码如下:
$subject?=?'a?href="xxx.php"abc测试/a';?//?假设这是需要匹配的字符串
$pattern?=?'/a?href="[^"]*"[^]*(.*)\/a/';?//?这是匹配的正则表达式
preg_match_all($pattern,?$subject,?$matches);?//?开始匹配,该函数会把匹配结果放入?$matches数组中
echo?"pre";
print_r($matches);
/**
结果是:
Array
(
[0]?=?Array
[0]?=?abc测试
)
[1]?=?Array
*/
preg_match_all ('/a href=\"(.*?)\".*?(.*?)\/a/i',$yuanstr,$matches);
a\b[^]*\bhref=([^\s]+)[^]*[\s\S]*?([^]*)/a
解释:
a\b #匹配a标签的开始
[^]* #匹配a标签href属性前的其他属性
\bhref=([^\s]+) #匹配href属性,并将匹配到的内容捕获到分组1当中
[^]* #匹配a标签的结束
[\s\S]*? #匹配a标签文本前的img标签
/a #匹配a标签的关闭
简化版:
a\s*href=([^]+)img[^]+([^]+)/a
实际上简化版可能效率更高......因为严格按照原文本格式来匹配.
不过如果标签形式有一点变化就可能导致匹配失败,所以这里写了两个版本..
以上就是土嘎嘎小编为大家整理的php匹配a标签文档介绍内容,php相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!