<ul>
<li><a href="a.php" target="_self" class="aa">中国</a></li>
<li><a href="a.php" target="_self" class="aa">文章</a></li>
<li><a href="a.php" target="_self" class="aa">人民</a></li>
</ul>
怎么用正则替换下。得到这样的结果。
<ul>
<li>中国</li>
<li>文章</li>
<li>人民</li>
</ul>在线等啊。谢谢啊。

解决方案 »

  1.   

    $str = '<ul>
    <li><a href="a.php" target="_self" class="aa">中国</a></li>
    <li><a href="a.php" target="_self" class="aa">文章</a></li>
    <li><a href="a.php" target="_self" class="aa">人民</a></li>
    </ul>
    ';
    echo preg_replace('/<\/?a[^>]*>/i','',$str);
      

  2.   

    这类问题是不需要用正则表达式的,php的开发者们已经考虑到了此类需求$s = <<< TEXT
    <ul>
    <li><a href="a.php" target="_self" class="aa">中国</a></li>
    <li><a href="a.php" target="_self" class="aa">文章</a></li>
    <li><a href="a.php" target="_self" class="aa">人民</a></li>
    </ul>
    TEXT;
    echo strip_tags($s,'<ul><li>');out:
    <ul>
    <li>中国</li>
    <li>文章</li>
    <li>人民</li>
    </ul>
      

  3.   

    <?php
    $str = '<ul>
    <li><a href="a.php" target="_self" class="aa">中国</a></li>
    <li><a href="a.php" target="_self" class="aa">文章</a></li>
    <li><a href="a.php" target="_self" class="aa">人民</a></li>
    </ul>
    ';$str1 = preg_replace("/(<a.*>(.*)<\/a>)/im", "$2", $str);
    echo $str1;
    ?>