繁体   English   中英

用PHP替换href标记中的链接

[英]Replacing link in a href tag by php

我有类似的链接

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

谢谢!

试试这个正则表达式

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

测试与工作

我认为这会起作用:

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

它应该删除整个href标签。

<?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标签

但希望它会有所帮助。

怎么样:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM