hi ich habe ein problem, und zwar will ich eine funktion, die aus drei variabeln ä,ö,ü,Ä,Ö,Ü und ß durch die ü und so ersetzt. die funktion hierfür sieht so aus:
function ersetzen($inhalt,$titel,$beschreibung)
{
$a=array(
"ä"=>"ä",
"Ä"=>"Ä",
"ö"=>"ö",
"Ö"=>"Ö",
"ü"=>"ü",
"Ü"=>"Ü",
"ß"=>"ß");
foreach($a as $key=>$value) $inhalt=str_replace($key,$value,$inhalt);
foreach($a as $key=>$value) $titel=str_replace($key,$value,$titel);
foreach($a as $key=>$value) $beschreibung=str_replace($key,$value,$beschreibung);
}
und nun will ich mit echo (oder auch mit anderen sachen, z.B. in mysql datenbank speichern) die variabeln $inhalt, §titel und §beschreibung ausgeben. dies funktioniert nicht (davor habe ich die funktion mit ersetzen(öäüöäüÖÄÜÖÄÜßß,ööäüöü,äöüöäöüö); aufgerufen)
vielen dank für die antworten im vorraus, crazyanimalium
[quote=“crazyanimalium”]dann erscheint bei mir:
Fatal error: Cannot pass parameter 1 by reference in…on line4[/quote]
Du musst die Funktion mit Variablen aufrufen, kein statischer Inhalt (Strings etc.)
Das ist in den allermeisten Fällen Unfug.
Warum nutzt du nicht einfach eine Zeichenkodierung, die diese Zeichen ohne irgendeine Sondernotation abbilden kann?