我正在使用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(带有查询字符串参数)。
我有什么想法可以做到吗?
答案 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]