我尝试在渲染时用可点击链接替换文本块中的网址。
正则表达式正在使用:
/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig
示例
This is the text i got from http://www.sample.com
应该转换为
This is the text i got from
<a href="http://www.sample.com">http://www.sample.com</a>
问题是当文本具有img标签时,src属性也会被替换为我不想要的。
请帮助我只更换直接链接而不是src =&#34;&#34;中的链接。属性
谢谢
答案 0 :(得分:0)
在正则表达式的开头添加否定的后置断言,仅搜索不在src="
之后的字符串:
(?<!src=")
编辑:不幸的是,后台断言在javascript正则表达式中不起作用。或者,您可以使用负面预测断言,如下所示:
((?!src=").{0,4})
记住你需要在替换中使用匹配的字符串(否则你会在http://
之前删除4个字符。)