Rumah  >  Artikel  >  pembangunan bahagian belakang  >  正则表达式 - php怎么用正则获取a标签的内容?

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

WBOY
WBOYasal
2016-12-05 13:44:111825semak imbas

<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>

谢邀,楼上正解

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn