本文目录一览:
怎么用php正则获得a标签内的文字啊
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
(
[0] = abc测试
)
)
*/
php的正则,怎么匹配a标签
preg_match_all ('/a href=\"(.*?)\".*?(.*?)\/a/i',$yuanstr,$matches);
$1是链接 $2是链接文字
PHP 正则匹配A标签获得连接和文字
a\b[^]*\bhref=([^\s]+)[^]*[\s\S]*?([^]*)/a
解释:
a\b #匹配a标签的开始
[^]* #匹配a标签href属性前的其他属性
\bhref=([^\s]+) #匹配href属性,并将匹配到的内容捕获到分组1当中
[^]* #匹配a标签的结束
[\s\S]*? #匹配a标签文本前的img标签
([^]*) #匹配a标签文本并捕获到分组2当中
/a #匹配a标签的关闭
分组1和分组2即为所需内容
简化版:
a\s*href=([^]+)img[^]+([^]+)/a
实际上简化版可能效率更高……因为严格按照原文本格式来匹配。
不过如果标签形式有一点变化就可能导致匹配失败,所以这里写了两个版本。。