php怎么用正则获取a标签的内容?

<!-- 1 -->
<a class="myclass" target="_blank" href="http://www.taobao.com/">我是内容1</a>
<!-- 2 -->
<a target="_blank" class="myclass" href="http://www.baidu.com/">我是内容2</a>
<!-- 3 -->
<a class="noclass" target="_blank" href="http://www.foobar.com/">不包含我</a>

像上面这句标签,我想要获取a标签的1和2的内容(我是内容1、我是内容2),不想要3(不包含我),他们的唯一区别是class标签不同 class位置也可能会不同!!!**

请问 怎么用正则来获取?

阅读 10.6k
2 个回答

谢邀。

$str = '<a class="myclass" target="_blank" href="http://www.taobao.com/">我是内容1</a>
<a target="_blank" class="myclass" href="http://www.baidu.com/">我是内容2</a>
<a class="noclass" target="_blank" href="http://www.miyahuo.com/">不包含我</a>';

preg_match_all('#<a .*class="myclass".*>(.*)</a>#', $str,$m);
print_r($m);
/*
Array
(
    [0] => Array
        (
            [0] => <a class="myclass" target="_blank" href="http://www.taobao.com/">我是内容1 <a target="_blank" class="myclass" href="http://www.baidu.com/">我是内容2 Array
        (
            [0] => 我是内容1
            [1] => 我是内容2
        )

)
*/
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题