Home > PHP > STR_REPLACE nur einmal ausführen

STR_REPLACE nur einmal ausführen

Die PHP Funktion str_replace dient dazu, wie der Funktionsname schon vermuten lässt, in einem String bestimmte Vorkommen bzw. Teilstrings zu suchen und durch eine andere Zeichenkette zu ersetzen. Es werden alle Vorkommen ersetzt. In der Methode gibt es leider keinen Parameter für die Begrenzung (Limit) von Ersetzungen. In der PHP-Version 5 ist der optionale vierte Parameter count dazugekommen, mit welchem man die Anzahl der Ersetzungen zählen kann. Ein Limit kann man jedoch in der Funktion preg_replace setzen.

Angenommen wir haben einen String und wollen in diesem nach einem Wort suchen und dieses Wort wiederum mit unserem neuen Begriff ersetzen:

Wie man sieht liefert str_replace den neuen String mit den Ersetzungen. Wenn wir unseren Beispielsatz um ein zusätzliches Wort „böser“ erweitern, aber nur den ersten Teilstring „böser“ durch „guter“ ersetzen wollen, dann nutzen wir dafür die Funktion preg_replace.

Wie man an der Ausgabe erkennt, haben wir die eigentliche Ersetzung nur ein einziges Mal ausgeführt. Mit preg_replace können erweiterte Ersetzungsregeln angewendet werden. Die Suche erfolgt, wie man an den Slashes im zweiten Code Beispiel vermuten kann, anhand eines Suchmusters / Pattern (regulärer Ausdruck). Auch preg_replace verfügt über einen count Parameter, mit welchem man die Ersetzungen in einer Variable mitzählen kann.

Die Suchvariable bzw. die Ersetzungsvariable (erster und zweiter Parameter) kann auch ein Array sein. Will man also mehrere Ersetzungen auf einmal erreichen, so kann man sich zwei Arrays zusammenstellen und diese mit einem einzigen Aufruf der Methode abarbeiten lassen.

Ich hoffe dieses kleine Tutorial hat Euch geholfen, bei Fragen können gerne Kommentare gepostet werden. 🙂

  1. Bisher keine Kommentare
  1. Bisher keine Trackbacks