str_replace

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

str_replace --  Ersetzt alle Vorkommen des Suchstrings durch einen anderen String

Beschreibung

mixed str_replace ( mixed search, mixed replace, mixed subject [, int &count] )

Diese Funktion gibt einen String oder ein Array zurück, in dem alle Vorkommen von search innerhalb von subject durch den angegebenen replace-Wert ersetzt wurden. Wenn Sie keine ausgefallenen Ersetzungsregeln (wie Regular Expressions) benötigen, sollten Sie immer diese Funktion anstelle von ereg_replace() oder preg_replace() verwenden.

Seit PHP 4.0.5 kann jeder Parameter von str_replace() vom Type array sein.

Warnung

Die PHP-Versionen vor PHP 4.3.3 enthalten einen Bug, der bei der Verwendung von Arrays für search und replace dazu führt, dass leeren search-Indexe übersprungen werden, ohne dabei den internen Zeiger innerhalb des replace-Arrays ebenfalls weiter zu bewegen. Dies wurde in PHP 4.3.3 korrigiert. Alle Skripte, die sich auf diesen Bug verlassen, sollten leere Suchwerte entfernen, bevor diese Funktion aufgerufen wird, um die ursprüngliche Verhalten zu imitieren.

Ist subject ein Array, erfolgt das Suchen und Ersetzen für jeder Wert von subject, und der Rückgabewert ist ebenfalls ein Array.

Sind search und replace Arrays, nimmt str_replace() je einen Wert beider Arrays und verwendet diese zum Suchen und Ersetzen in subject. Hat replace weniger Werte als search, so wird ein leerer String zum Ersetzen für den Rest der Werte verwendet. Ist search ein Array und replace ein String, dann wird dieser String für jeden Wert von search angewandt. Das Gegenteil ist nicht sinnvoll.

Beispiel 1. str_replace()-Beispiele

<?php
// Liefert: <body text='schwarz'>
$bodytag = str_replace("%body%", "schwarz", "<body text='%body%'>");

// Liefert: Hll PHP-Wlt
$vokale = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$onlyconsonants = str_replace($vokale, "", "Hallo PHP-Welt");

// Liefert: Sie sollten taeglich Pizza, Bier und Eiscreme essen.
$phrase = "Sie sollten taeglich Fruechte, Gemuese und Ballaststoffe essen.";
$gesund = array("Fruechte", "Gemuese", "Ballaststoffe");
$lecker = array("Pizza", "Bier", "Eiscreme");

$newphrase = str_replace($gesund, $lecker, $phrase);

// Die Verwendung des count-Parameters ist ab PHP 5.0.0 möglich
$str = str_replace("ll", "", "good golly miss molly!", $count);
echo
$count; // 2
?>

Anmerkung: Diese Funktion ist binary safe.

Anmerkung: Ab PHP 5.0.0 wird die Anzahl der gefundenen und ersetzten Suchbegriffe (search) mittels count zurück gegeben, der als Referenz übergeben wird. Vor PHP 5.0.0 ist dieser Parameter nicht verfügbar.

Siehe auch str_ireplace(), substr_replace(), ereg_replace(), preg_replace() und strtr().