$pattern = "/\[url\=(.*)\](.*)\[\/url\]/i";
上記の私のパターンは、bbcodeをhtmlに書き換えますが、自分のドメインからリンクを除外したいと思います。正規表現を変更して、すべての外部リンクでは動作しますが、自分のドメインとのリンクでは動作しませんか?例外を含むコードbbcode
$pattern = "/\[url\=(.*)\](.*)\[\/url\]/i";
上記の私のパターンは、bbcodeをhtmlに書き換えますが、自分のドメインからリンクを除外したいと思います。正規表現を変更して、すべての外部リンクでは動作しますが、自分のドメインとのリンクでは動作しませんか?例外を含むコードbbcode
あなたが正常にpreg_replace_callback
機能を使用することのような何かをしたい時はいつでも。
これは、置換文字列を提供する前にさらなる条件をチェックできるコールバック関数を指定することを可能にします。
ドメインがexample.com
であると仮定すると、このパターンは、仕事をしていません:
/\[url\=((?:(?!example\.com).)*)\](.*)\[\/url\]/i
これは、[URL =%65xample.com]自分のドメイン、リンクされた[/ url] 'のように、常に同じ文字を表現することを可能にします簡単な正規表現で。 – hakre