765
PHP匹配固定class链接的a标签
使用修饰词大写的U转换为非贪婪模式 要不然会从文中的第一个a标签的开头 匹配到最后一个a标签的结尾
$c = '/<a class="ke-insertfile".*\>.*<\/a>/U';

还可以直接使用非贪婪的正则.*?

$c = '/<a class="ke-insertfile".*?\>.*?<\/a>/';
<?php
$str = '<p>百度<a class="ke-insertfile" href="http://www.baidu.com/">百度</a>腾讯<a class="ke-insertfile" href="http://www.qq.com/">腾讯</a><a href="aaa">这个a标签不要匹配</a></p><a>asdad</a>';
//$str = '<a class="ke-insertfile" href="http">aaa</a><a class="ke-insertfile" href="http">bbb</a><a class="ke-insertfile" href="http">ccc</a>';
$c = '/<a class="ke-insertfile".*\>.*<\/a>/U';

preg_match_all($c, $str, $matches);

var_export($matches);
// 预期的正确的结果
$arr = array('<a class="ke-insertfile" href="http://www.baidu.com/">百度</a>', '<a class="ke-insertfile" href="http://www.qq.com/">腾讯</a>');
var_export($arr);
匹配结果

PHP 正则匹配a标签的图片 1

 如果不是使用贪婪模式的话结果是
$c = '/<a class="ke-insertfile".*\>.*<\/a>/';

PHP 正则匹配a标签的图片 2

转载原创文章请注明,转载自: 罗正荣个人博客 » PHP 正则匹配a标签

1条评论

Loading...

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  1. Everytime Britney Spears 3:53