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)
War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top