我正在尝试在 javascript 中创建一个自动链接功能,该功能会在用户键入时自动将 url 转换为链接(ContentEditable div)。
我使用这个正则表达式:
var text = 'Some text containing URLs';
var exp = /(\b(http):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
var newtext = text.replace(exp,"<a href='$1'>$1</a>");
上面的代码工作正常,但是因为每次用户键入时都会调用代码,所以会发生递归:
<a href='<a href='<a href=' etc.
我怎样才能避免这种情况发生,同时仍然让脚本在用户键入时更新文本?
所以问题是(感谢@putvande):如何检查 URL 是否尚未包含:
<a href='...
(我对正则表达式不是很方便)