2016-07-06 19 views
1

コンテンツソースがHTMLとBBCodeのいずれかであるTinyMCE 4.4を使用しています。ユーザーはBBCodeビューでリンクを挿入してHTMLに変換できます。BBCodeリンクをHTMLリンクに変換する正規表現

たとえば、BBCodeのリンク:[url href=http://test.com]test[/url]、私はHTMLリンクに従って変換するregexが必要です。

TinyMCE BBCodeプラグインの下にある行はありますが、動作していないようです。

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

理想的には、正規表現は<a href="http://test.com">test</a>にBBCodeのリンクの上に変換する必要がありますが、それは同様に(クエリ文字列のparams付き)複雑なURLを処理する必要があります。

どのように私はそれを作ることができますか?

答えて

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

+0

おかげでそれを参照してください。あなたは本当です。 2つの正規表現の違いや両方の例が分かりますか? \ [url =([^ \]] +)\](。*?)\ [\/url \]/gi、 "$2"); と Regex2 - rep(/ \ [url \](。*?)\ [\/url \]/gi、 "$1"); –

+1

答えを – Matyas

+0

更新していただきありがとうございます。 –

関連する問題