Maison  >  Article  >  développement back-end  >  正则表达式 - php怎么用正则获取a标签的内容?

正则表达式 - php怎么用正则获取a标签的内容?

WBOY
WBOYoriginal
2016-12-05 13:44:111790parcourir

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

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

请问 怎么用正则来获取?

回复内容:

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

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

请问 怎么用正则来获取?

谢邀。

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

preg_match_all('#<a .*class="myclass".*>(.*)>#', $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
        )

)
*/</code>

谢邀,楼上正解

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn