2012-05-11 15 views
0
$pattern = "/\[url\=(.*)\](.*)\[\/url\]/i"; 

上記の私のパターンは、bbcodeをhtmlに書き換えますが、自分のドメインからリンクを除外したいと思います。正規表現を変更して、すべての外部リンクでは動作しますが、自分のドメインとのリンクでは動作しませんか?例外を含むコードbbcode

答えて

0

あなたが正常にpreg_replace_callback機能を使用することのような何かをしたい時はいつでも。

これは、置換文字列を提供する前にさらなる条件をチェックできるコールバック関数を指定することを可能にします。

0

ドメインがexample.comであると仮定すると、このパターンは、仕事をしていません:

/\[url\=((?:(?!example\.com).)*)\](.*)\[\/url\]/i 
+0

これは、[URL =%65xample.com]自分のドメイン、リンクされた[/ url] 'のように、常に同じ文字を表現することを可能にします簡単な正規表現で。 – hakre

関連する問題