PHP preg_replace kullanırken nasıl maçlara alabilirim?

4 Cevap php

Ben kelimelerin bir çift harflerle kapmak ve yayılma etiketleri bunları kaydırmak çalışıyorum. I preg_replace özü ve sarma amaçlı kullanıyorum, ama bir şey çıktısı değil.

preg_replace("/[A-Z]/", "<span class=\"initial\">$1</span>", $str)

4 Cevap

Bu gibi, parantez içinde maç koymak gerekir:

preg_replace("/([A-Z])/", "<span class=\"initial\">$1</span>", $str)

\0 ayrıca parantez kullanarak açık yakalama yapmadan tüm eşleşen ifadeyi maç olacak.

preg_replace("/[A-Z]/", "<span class=\"initial\">\\0</span>", $str)

Her zaman olduğu gibi, php.net/preg_replace veya php.net / gidebilirsiniz hızla belgeleri aramak için. Belgelerin Quoth:

0 veya $ 0 \ bütün desen ile eşleşen metnidir.

: Php.net üzerine preg_replace documentation Gönderen

replacement may contain references of the form \n or (since PHP 4.0.4) $n, with the latter form being the preferred one. Every such reference will be replaced by the text captured by the n'th parenthesized pattern.

Flubba örneğini bakın.

İstediğiniz yakalama parantez kullanın.