0

我正在开发一个 PHP 动态网页,该网页有一个<textarea>元素,允许用户编写文本并让它在元素中“实时”显示<div>,只是 JavaScript 处理文本和标签。

我使用 JavaScript 正则表达式将括号之间的“b”、“u”和标签(如 phpBB 样式)更改为它们的 HTML 等价物,如“strong”、“u”等。

当我需要处理url标签时会出现问题,我需要从输入中提取 URL,如下所示:

[url=http://...]

我怎样才能将其替换为:

<a href="http://...">
4

1 回答 1

0

这应该有效:

str.replace(/\[url=([^\s"<>\]]+)\]/gi, '<a href="$1">$1</a>');

这应该接受参数,[url=...]并且除非有任何有趣的业务(或空格),否则将其更改为超链接,使用 URL 作为目标和链接文本<>

这将允许类似 的内容[url=javascript:while(1)alert('Boo!')],这将产生一个链接,当单击该链接时,会真正惹恼用户 - 您必须添加一些清理过滤来阻止此类内容。

于 2009-07-09T09:48:49.657 回答