Wie kann ich bei den spielen, bei Verwendung preg_replace in PHP?
-
08-06-2019 - |
Frage
Ich bin versucht zu greifen, die Großbuchstaben von ein paar Worten und wickeln Sie Sie in span-tags.Ich bin mit preg_replace für das extrahieren und Verpacken Zwecke, aber es ist nicht die Ausgabe nichts.
preg_replace("/[A-Z]/", "<span class=\"initial\">$1</span>", $str)
Lösung
Sie müssen das Muster in Klammern /([A-Z])/
, wie diese:
preg_replace("/([A-Z])/", "<span class=\"initial\">$1</span>", $str)
Andere Tipps
\0
wird auch die gesamte aufeinander abgestimmte Ausdruck, ohne dabei eine explizite Erfassung mit Klammern.
preg_replace("/[A-Z]/", "<span class=\"initial\">\\0</span>", $str)
Wie immer, können Sie gehen, um php.net/preg_replace oder php.net/<whatever search="" term=""> suchen Sie in der Dokumentation schnell.Sprach der Dokumentation:
\0 oder $0 bezieht sich auf den text abgestimmt durch die gesamte Muster.
Aus der preg_replace Dokumentation auf php.net:
Ersatz kann Verweise von form " oder (seit PHP 4.0.4) $n, mit der letzteren form wird die bevorzugten.Jeder solche Verweis wird ersetzt durch den text erfasst durch die n ' te Klammern Muster.
Siehe Flubba Beispiel.
Verwenden Sie Klammern, um Ihre gewünschte erfassen.