Also so simpel isses wohl doch nicht, hatte mich schon gefreut:
Wenn ich den String als Variable definiere, funzt es, weil ich da die Ausführungszeichen escapen kann:
Code:
$name = "Der \"weiße\" Riese";
$array_1 = array("ä","ü","ß","ö","Ä","Ö","Ü","(",")","\""," ");
$array_2 = array("ae","ue","ss","oe","ae","oe","ue","_","_","_","_");
for($x=0;$x<11;$x++){
$name= strtolower(str_replace($array_1[$x],$array_2[$x],$name));
}
echo $name;
Da gibt er mir aus: der__weisse__riese
Aber wenn ein User den Text <Der "weiße" Riese> über ein Formularfeld sendet, gehts nicht:
Code:
$name = $_POST['name'];
$array_1 = array("ä","ü","ß","ö","Ä","Ö","Ü","(",")","\""," ");
$array_2 = array("ae","ue","ss","oe","ae","oe","ue","_","_","_","_");
for($x=0;$x<11;$x++){
$name= strtolower(str_replace($array_1[$x],$array_2[$x],$name));
}
echo $name;
Da gibt er mir aus: der_\_weisse\__riese
Und da liegt mein Problem.