preg_replace - Befehl

pl_90

Angesehenes Mitglied
Hallo,

Ich hab folgendes Beehl:
CODE
$data['CACHE_TITLE'] = preg_replace('`[^\w_-]`', '_', $data['TITLE']);



Das ersetzt alle Sonderzeichen durch einen "_". Wie kann ich jetzt den Befehl ändern,
damit er Umlaute ersetzt, also Ä -> Ae, Ü -> Ue, Ö -> Oe, ä -> ae, ü -> ue, ö -> oe und Sonderzeichen löscht und Leerzeichen sollen Weiterhin durch einen "_" ersetzt werden.
Wie geht das?


Danke im Voraus.


Grüße

Dawid
 
Vielleicht hilft dir das hier, so ersetze ich "meine" Umlaute
smile.gif
 
Halli Hallo,

Vielen Dank. Ich hab das irgendwie leichter gelöst:
CODE

$umlaute = array("/Ä/", "/Ü/", "/Ö/", "/ä/", "/ü/", "/ö/", "/ß/", "/ /");
$umlaute_repl = array("Ae", "Ue", "Oe", "ae", "ue", "oe", "ss", "_");
$data['CACHE_TITLE'] = preg_replace($umlaute, $umlaute_repl, $data['TITLE']);




Aber mit dem Sonderzeichen (?!#+~...) wäre jetzt doof jedes Zeichen so zu schreiben, gibt es nicht dafür ne allgemeine Formel / nen allgemeinen Befehl was die Sonderzeichen "auslöscht"?


Grüße

Dawid
 
QUOTE Aber mit dem Sonderzeichen (?!#+~...) wäre jetzt doof jedes Zeichen so zu schreiben, gibt es nicht dafür ne allgemeine Formel / nen allgemeinen Befehl was die Sonderzeichen "auslöscht"?

Regulärer Ausdruck: \W Alles, was nicht Buchstabe, Zahl oder Unterstrich ist.
 
Hallo,

Ich hätte da noch eine Frage und zwar:
Ich wandle die Umlaute z.Z. so um:

QUOTE
$umlaute = array("/Ä/", "/Ü/", "/Ö/", "/ä/", "/ü/", "/ö/", "/ß/", "/ /");
$umlaute_repl = array("Ae", "Ue", "Oe", "ae", "ue", "oe", "ss", "_");
$blabla = preg_replace($umlaute, $umlaute_repl, $data['TITLE']);



Aber gint es dafür nicht einen einzigen Befehl der das so macht?, also ä > ae, ü > ue...
Oder am besten wäre so ein Befehl der alle Umlaute, auch ausländische so ungewähr umwandelt?

Bibt es so etwas?


Thx im Voruas...


Grüße

Dawid
 
Zurück
Oben