Ich weiss nicht was ich falsch mache, aber ich verzweifle gerade an einem preg_replace, der bisher eigentlich immer funktioniert hat. Und zwar sollen deutsche Sonderzeichen (ä,ö,ü,ß) in (ae, oe, ue, sz) umgewandelt werden. Hierzu hab ich folgenden preg_replace:
Bei folgendem Text:
Das ist eine schöne Überschrift
kommt folgendes raus:
Das_ist_eine_sch_ne__berschrift
Kann mir jemand sagen, warum der mit dem preg_replace nicht klar kommt? Beim großen Ü versteh ich das ja, das ist noch nicht berücksichtigt, aber warum macht er das kleine ö nicht richtig? Hab schon andere Texte probiert, immer das gleiche.
PHP-Code:
$old_pattern = array ("/ä/", "/ö/", "/ü/", "/ß/", "/[^a-zA-Z0-9]/", "/_+/", "/_$/");
$new_pattern = array ("ae" , "oe" , "ue" , "ss" , "_" , "_" , "" );
$link= preg_replace ($old_pattern, $new_pattern, $headline);
echo $link;
Das ist eine schöne Überschrift
kommt folgendes raus:
Das_ist_eine_sch_ne__berschrift
Kann mir jemand sagen, warum der mit dem preg_replace nicht klar kommt? Beim großen Ü versteh ich das ja, das ist noch nicht berücksichtigt, aber warum macht er das kleine ö nicht richtig? Hab schon andere Texte probiert, immer das gleiche.
Kommentar