正则表达式将BBCode链接转换为HTML链接

时间:2016-07-06 08:14:30

标签: regex tinymce-4

我正在使用TinyMCE 4.4,其中内容源是HTML和BBCode。用户可以在BBCode视图中插入链接并转换为HTML。

例如BBCode链接:[url href=http://test.com]test[/url],我需要正则表达式,它将转换为相应的HTML链接。

下面是TinyMCE BBCode插件,但它似乎无法正常工作。

rep(/\[url=([^\]]+)\](.*?)\[\/url\]/gi, "<a href=\"$1\">$2</a>");
rep(/\[url\](.*?)\[\/url\]/gi, "<a href=\"$1\">$1</a>");

理想情况下,Regex应该将BBCode链接转换为<a href="http://test.com">test</a>,但它也应该处理复杂的URL(带有查询字符串参数)。

我有什么想法可以做到吗?

1 个答案:

答案 0 :(得分:0)

问题是你的BBCode错了。它应该没有href=简单地url=

[url=http://test.com]test[/url]

然后正则表达式应该正确地完成它们的工作。

正则表达式:/[url=([^]]+)](.*?)[\/url]/gi, "<a href=\"$1\">$2</a>"适用于案例[url=http://test.com]some plain text[/url]

正则表达式/[url](.*?)[\/url]/gi, "<a href=\"$1\">$1</a>"用于案例[url]http://test.com[/url]

action here

中查看