用php替换href标签中的链接

时间:2014-02-02 14:40:22

标签: php replace preg-replace str-replace

我有像

这样的链接
<a href="#GGGGGGG31321">LINK TEXT</a>
<a href="#zzzz313GG31321">LINK TEXT 2</a>

...

注意!开头的#符号很重要,因为我有另一个链接,我不想改变

我如何用php替换它:

<a href="#">LINK TEXT</a>
<a href="#">LINK TEXT 2</a>

或者更好的方法是如何保留链接文字,但完全删除href标签

谢谢!

4 个答案:

答案 0 :(得分:0)

试试这个正则表达式

 <?php
    $vv='<a href="#GGGGGGG31321">LINK TEXT</a>
    <a href="#zzzz313GG31321">LINK TEXT 2</a>';
    $vv=preg_replace('/<a(.*)href="([^"]*)"(.*)>/','<a$1href="#"$3>',$vv);
    echo $vv;
 ?>

test&amp;工作

答案 1 :(得分:0)

我认为这会奏效:

preg_replace( '/<a\shref=\".*\">(.+<\/a>)/', '<a>$1', $linkTag );

它应该删除整个href标记。

答案 2 :(得分:0)

<?php
    $string = '<a href="#GGGGGGG31321">LINK TEXT</a><a href="#zzzz313GG31321">LINK TEXT 2</a>';
    $regex = '/<a\\shref=".*?">(.*?)<\\/a>/is';
    echo preg_replace($regex, '<a>$1</a>', $string);
?>

返回:     <a>LINK TEXT</a>

当你说

时,也许我不理解你
  

或者更好的方法是如何保留链接文字,但完全删除href标签

但希望它有用。

答案 3 :(得分:0)

怎么样:

preg_replace('/\bhref="#[^"]+"/', 'href="#"', $string)