【问题标题】:Replacing link in a href tag by php用php替换href标签中的链接
【发布时间】:2014-02-02 14:40:22
【问题描述】:

我有类似的链接

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

...

注意! # begin 中的符号很重要,因为我有另一个链接我不想更改的内容

我如何用 php 替换它:

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

或者更好的方法是我可以保留链接文本,但完全删除 href 标签

谢谢!

【问题讨论】:

    标签: php replace preg-replace str-replace


    【解决方案1】:

    试试这个正则表达式

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

    测试和工作

    【讨论】:

    • # 符号对我很重要
    【解决方案2】:

    我认为这会奏效:

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

    它应该删除整个href 标签。

    【讨论】:

      【解决方案3】:
      <?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);
      ?>
      

      这会返回: &lt;a&gt;LINK TEXT&lt;/a&gt;

      你说的可能我没听懂

      或者更好的方法是我可以保留链接文本,但完全删除 href 标签

      但希望它会有所帮助。

      【讨论】:

        【解决方案4】:

        怎么样:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2023-03-18
          • 2011-03-31
          • 1970-01-01
          • 2011-04-17
          • 2019-01-31
          • 1970-01-01
          • 2018-03-22
          • 2012-12-11
          相关资源
          最近更新 更多