将 BBCode link 转换为 HTML link 的正则表达式
Regex to convert BBCode link to HTML link
我正在使用 TinyMCE 4.4,其中内容源是 HTML 和 BBCode。用户可以在 BBCode 视图中插入 link 并转换为 HTML。
例如 BBCode link: [url href=http://test.com]test[/url]
, 我需要正则表达式将转换为根据 HTML link.
TinyMCE BBCode 插件中的以下几行,但它似乎不起作用。
rep(/\[url=([^\]]+)\](.*?)\[\/url\]/gi, "<a href=\"\"></a>");
rep(/\[url\](.*?)\[\/url\]/gi, "<a href=\"\"></a>");
理想情况下,正则表达式应将 BBCode link 以上转换为 <a href="http://test.com">test</a>
,但它也应处理复杂的 URL(带有查询字符串参数)。
有什么想法可以做到吗?
问题是你的BBCode不对。它应该没有 href=
只是 url=
[url=http://test.com]test[/url]
然后正则表达式应该正确地完成它们的工作。
正则表达式:/[url=([^]]+)](.*?)[\/url]/gi, "<a href=\"\"></a>"
适用于案例[url=http://test.com]some plain text[/url]
正则表达式 /[url](.*?)[\/url]/gi, "<a href=\"\"></a>"
用于大小写 [url]http://test.com[/url]
在action here中查看
我正在使用 TinyMCE 4.4,其中内容源是 HTML 和 BBCode。用户可以在 BBCode 视图中插入 link 并转换为 HTML。
例如 BBCode link: [url href=http://test.com]test[/url]
, 我需要正则表达式将转换为根据 HTML link.
TinyMCE BBCode 插件中的以下几行,但它似乎不起作用。
rep(/\[url=([^\]]+)\](.*?)\[\/url\]/gi, "<a href=\"\"></a>");
rep(/\[url\](.*?)\[\/url\]/gi, "<a href=\"\"></a>");
理想情况下,正则表达式应将 BBCode link 以上转换为 <a href="http://test.com">test</a>
,但它也应处理复杂的 URL(带有查询字符串参数)。
有什么想法可以做到吗?
问题是你的BBCode不对。它应该没有 href=
只是 url=
[url=http://test.com]test[/url]
然后正则表达式应该正确地完成它们的工作。
正则表达式:/[url=([^]]+)](.*?)[\/url]/gi, "<a href=\"\"></a>"
适用于案例[url=http://test.com]some plain text[/url]
正则表达式 /[url](.*?)[\/url]/gi, "<a href=\"\"></a>"
用于大小写 [url]http://test.com[/url]
在action here中查看