Teil-Zeichenketten ersetzten / str_replace()
henne89
- php
hallo,
mit dem befehl str_replace kann ich ja einzelne wörter durch andere ersetzten, meine frage ist jetzt ob das auch für mehrere wörter geht, jetzt nicht für einen ganzen text sonder zb
str_replace("Hi","Hallo","cu","ciao",$text)
es soll also in dem beispiel das jedes Hi durch ein Hallo und jedes cu durch ein ciao ersetzt werden.
ich denke es wird umgefähr klar was ich meine, ist das so möglich oder lösst es sich auf eine andere art realisieren?
mfg henne89
Hallo henne89.
str_replace("Hi","Hallo","cu","ciao",$text)
es soll also in dem beispiel das jedes Hi durch ein Hallo und jedes cu durch ein ciao ersetzt werden.
Die Funktion str_replace() kann nicht nur Strings, sondern auch Arrays als Parameter entgegen nehmen.
Lege also zwei Arrays an; einer mit den zu suchenden Strings und einer mit den dazu gehörigen Ersetzungen. Jeweils (in Bezug auf den Index) gleiche Werte werden ersetzt.
Die englische Seite zu str_replace() im PHP-Handbuch gibt hierzu Anhaltspunkte.
Einen schönen Freitag noch.
Gruß, Ashura
Lege also zwei Arrays an; einer mit den zu suchenden Strings und einer mit den dazu gehörigen Ersetzungen. Jeweils (in Bezug auf den Index) gleiche Werte werden ersetzt.
Danke für die schnelle antwort, hab das gemacht nur dadurch wird irgendwie garnichts ersetzt... :/
Hallo!
str_replace("Hi","Hallo","cu","ciao",$text)
Bei den Beispielen der Funktion str_replace() gibt es folgendes Beispiel:
// Provides: Hll Wrld f PHP
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$onlyconsonants = str_replace($vowels, "", "Hello World of PHP");
Das bedeutet für Dich:
$replace_strings = array("Hi","Hallo","cu");
$onlyconsonants = str_replace($replace_strings, "ciao", $text);
André Laugks
Das bedeutet für Dich:
$replace_strings = array("Hi","Hallo","cu");
$onlyconsonants = str_replace($replace_strings, "ciao", $text);
jetzt wird alles durch ciao ersetzt :/
Hallo henne89.
$replace_strings = array("Hi","Hallo","cu");
$onlyconsonants = str_replace($replace_strings, "ciao", $text);jetzt wird alles durch ciao ersetzt :/
Richtig. Das Prinzip solltest du damit aber verstehen. An Stelle von der Zeichenkette „ciao“ kannst du wie erwähnt einen zweiten Array verwenden, welcher deine gewünschten Ersetzungen enthält.
Einen schönen Freitag noch.
Gruß, Ashura
ja danke, jetzt klappt es auch wunderbar :) hatte eben nur ein paar kleinigkeiten übersehen :>
echo $begrüßung;
mit dem befehl str_replace kann ich ja einzelne wörter durch andere ersetzten, meine frage ist jetzt ob das auch für mehrere wörter geht
Welcher Teil der Handbuchseite zu str_replace() ist denn für dich unverständlich?
echo "$verabschiedung $name";