いくつかの単語の大文字を取得して、スパンタグでラップしようとしています。抽出とラッピングの目的でpreg_replaceを使用していますが、何も出力されません。
preg_replace("/[A-Z]/", "<span class=\"initial\">$1</span>", $str)
いくつかの単語の大文字を取得して、スパンタグでラップしようとしています。抽出とラッピングの目的でpreg_replaceを使用していますが、何も出力されません。
preg_replace("/[A-Z]/", "<span class=\"initial\">$1</span>", $str)
次のように、パターンを括弧で囲む必要があります/([A-Z])/
。
preg_replace("/([A-Z])/", "<span class=\"initial\">$1</span>", $str)
\0
また、括弧を使用して明示的なキャプチャを行わずに、一致した式全体と一致します。
preg_replace("/[A-Z]/", "<span class=\"initial\">\\0</span>", $str)
いつものように、php.net /preg_replaceまたは php.net/<任意の検索用語> に移動して、ドキュメントをすばやく検索できます。ドキュメントを引用します。
\0 または $0 は、パターン全体に一致するテキストを参照します。
php.netのpreg_replace ドキュメントから:
置換 には \n または (PHP 4.0.4 以降) $n の形式の参照を含めることができ、後者の形式が推奨されます。そのような参照はすべて、n 番目の括弧で囲まれたパターンによってキャプチャされたテキストに置き換えられます。
Flubba の例を参照してください。
目的のキャプチャを括弧で囲みます。