代码必须跳过现有链接,<img>
的src值(或类似的东西)
public function convertUrlsToLinks($text){
return preg_replace('@(https?://([-\w\.]+)+(:\d+)?(/([\w/_\.-]*(\?\S+)?)?)?)@', '<a href="$1" target="_blank">$1</a>', $text);
}
无法弄清楚,我需要在此功能中修改什么?
答案 0 :(得分:0)
在你的正则表达式中添加一小部分,检查你的正则表达式是否在标签内。所以它应该是
<tag>HERE</tag>
而不是
<tag src="HERE"></tag>.
由于url将始终位于html标记内,因此如果您将正则表达式微调到此用途,它应该可以正常工作。我不是正则表达式的专业人士,所以不能帮助你,但我认为这应该让你朝着正确的方向前进。