我在javascript中的这个正则表达式有一些麻烦。相同的正则表达式在 PHP 中有效,但在 JavaScript 中会出现此错误:“无效的正则表达式: (?) 之后无法识别的字符。我的正则表达式是:
text = text.replace(/(?<!\=\")http([A-Za-z0-9:\/\.\+\?\%\@\!\#\&_-]+)/g,
'<a href="http$1" target="_blank" rel="nofollow">http$1</a> ');
问题出在第一部分 ( ?< !\=\"
) 但我不知道如何解决它,因为它是 PHP 或 C 的普通正则表达式。
有这种结构的类似物吗?我需要"
在“http”之前禁止符号(双引号),以防止 html 元素(如<img>
.
我正在编辑问题,因为符号<
加上!
在其后显示文本时出错。(那,也可能引发错误)。