質問

書い小さなブログのモジュールです。いまのままで利用できるタイプBBCode.I変換する必要があることをXHTMLのサービスから受けることになってしまいほとんどのタグを除き、 [url].

りたいです:

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

を変換する

<a href="http://www.stackoverflow.com">http://www.stackoverflow.com</a>

[url=http://stackoverflow.com/]StackOverflow[/url]

を変換する

<a href="http://www.stackoverflow.com" title="StackOverflow">StackOverflow</a>

残念なっています。その結果がひどいもので、私は迷ったらこれている間に行うことができる一つの正規表現場で分割されます。

役に立ちましたか?

解決

この仕事:

\[url\s*=\s*([^\]]*)]\s*((?:(?!\s*\[/url\]).)*)\s*\[/url\]|\[url\s*=\s*([^\]]*)]

交換用パターン:

<a href="$1$3" title="$2">$2$3</a>

試この入力:

bla [url=http://stackoverflow.com/]StackOverflow[/url] bla
bla [url=http://stackoverflow.com/] bla

戻り値:

bla <a href="http://stackoverflow.com/" title="StackOverflow">StackOverflow</a> bla
bla <a href="http://stackoverflow.com/" title="">http://stackoverflow.com/</a> bla

この場合において追加の検証/逃し無効なXML文字(", <,>など) が"ブレイク"のタグです。

他のヒント

このようになっ怪作品を作るべきなので

\[url=([^\]]+)\](?:([^\[]+)\[\/url\])?

マッチングをこのurl$1文字$2れている場合を指定します。なかったこの試験なのであることが要求される可能性があ調整を行う。

Analize機能BBCode2HTML($テキスト)

https://code.google.com/p/pwision/source/browse/trunk/inc/BBCode.inc#150

このアルゴリズムを変換BBCode2HTMLは:1)規制のBBCodeテキスト コードはこちらhttps://code.google.com/p/pwision/source/browse/trunk/inc/BBCode.inc#60

2)変換の規制BBCode XML コードはこちらhttps://code.google.com/p/pwision/source/browse/trunk/inc/BBCode.inc#101

3)実行XSLT変換、XMLます。るXSLTのファイルはこちら https://code.google.com/p/pwision/source/browse/trunk/inc/BBCodeXML2HTML.xslt の変換を行います:https://code.google.com/p/pwision/source/browse/trunk/inc/BBCode.inc#113

Mad godで死にました---。!

PS:良いXSLTのチュートリアルではこちらhttp://www.w3schools.com/xsl/xsl_languages.asp

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top