我正在开发一个PHP动态网页,其中包含<textarea>
元素,用户可以在<div>
元素中“实时”显示文本,只需JavaScript处理文字和标签。
我使用JavaScript regexp将括号(如phpBB样式)中的“b”,“u”和标签更改为HTML等效项,如“strong”,“u”等。
当我需要处理url
标记时出现问题,我需要从输入中提取URL,如下所示:
[url=http://...]
如何用以下内容替换:
<a href="http://...">
答案 0 :(得分:0)
这应该有效:
str.replace(/\[url=([^\s"<>\]]+)\]/gi, '<a href="$1">$1</a>');
应该使用[url=...]
中的参数,并禁止任何有趣的商家(<
,>
或空格),将其更改为超链接,使用网址作为目标和链接文字。
这将允许像[url=javascript:while(1)alert('Boo!')]
这样的内容,它会产生一个链接,当点击它时,会真正惹恼用户 - 你必须添加一些消毒过滤来阻止这样的事情。