str_replace (PHP 3 >= 3.0.6, PHP 4, PHP 5) str_replace --
Ersetzt alle Vorkommen des Suchstrings durch einen anderen String
Beschreibungmixed 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(),
preg_replace() und
strtr().
|