0

こんにちは、私は小さなプラグイン システムを持っています。たとえば、次のショートコードを使用します: {google}stackoverflow{/google}

その部分をGoogle検索リンクへのリンクに置き換えたいです。この場合:stackoverflow

どうすればいいですか?私はこれを持っていますが、動作しません:

preg_replace('#{google}([^{]+){/google}#i', '<a href="http://www.google.com?s=$1">$1</a>', $content);
4

4 に答える 4

1

中括弧をエスケープする必要があります。つまり、 and を使用\{\}ます。

preg_replace('#\{google\}([^{]+)\{/google\}#i', '<a href="http://www.google.com?s=$1">$1</a>', $content);
于 2012-08-22T19:46:18.917 に答える
1

ここで重要なのは、貪欲でない演算子を使用し、すべてをエスケープすることです。

preg_replace('#\{google\}(.*?)\{/google\}#i','<a href="http://www.google.com?s=$1">$1</a>', $content);
于 2012-08-22T19:46:56.750 に答える
1

正規表現が無効です。これを試して:

preg_replace('#\{google\}[^\{]+\{/google\}#i', '<a href="http://www.google.com?s=$1">$1</a>', $content);
于 2012-08-22T19:47:22.407 に答える
-1
preg_replace('#{google}([^{]+){\/google}#i', '<a href="http://www.google.com?s=$1">$1</a>', $content);
于 2012-08-22T19:47:59.500 に答える