我需要一些帮助。 我有一个巨大的PHP文档,其中包含很多链接。 我需要用#替换链接 例如:
Original link: text....<a href="orig-link"> Link text </a> other text .....
How i need it be: text....<a href="#"> Link text </a> other text .....
所以我只需要更改链接,链接文本等应保持不变。
感谢您的阅读。
答案 0 :(得分:4)
当没有其他属性时:
$string = preg_replace('~<a href="[^"]+">~', '<a href="#">', $string);
否则:
$string = preg_replace('~<a ([^>]*)href="[^"]+"([^>]*)>~', '<a \\1href="#"\\2>', $string);
演示:
php > $string = 'text....<a asd="blub" href="orig-link" title="bla"> Link text </a> other text .....';
php > echo preg_replace('~<a ([^>]*)href="[^"]+"([^>]*)>~', '<a \\1href="#"\\2>', $string);
text....<a asd="blub" href="#" title="bla"> Link text </a> other text .....
答案 1 :(得分:0)
尝试以下方法:
$str = 'Original link: text....<a href="orig-link"> Link text </a> other text .....';
$newstr = preg_replace('/(href=.)[^"]+/', '$1#', $str);
echo $newstr;
输出结果为:
Original link: text....<a href="#"> Link text </a> other text .....