Hi!
ich möchte in einem String Leerzeichen, Umlaute und sonstige nicht-Zahlung und nicht-Buchstaben ersetzen. Wäre es effizienter für den Server ein paar mal str_replace durchlaufen zu lassen oder es mit preg_replace zu versuchen? Kann man überhaupt mit preg_replace mehrere Umlaute auf einen Schlag ändern (ä -> ae oder ö -> oe)?
Leerzeichen und Umlaute lassen sich einfach mit str_replace ersetzen. str_replace hat zudem den Vorteil, dass du für das Suchmuster und die Ersetzungen Arrays verwenden kannst, was bei preg_replace nicht möglich ist, d.h. du kannst auf einen Schlag mehrere verschiedene Ersetzungen durchführen:
$string = 'Ein String mit vielen Umlauten: ÄäÜüÖö';
$search = array('Ä', 'ä', 'Ö', 'ö', 'Ü', 'ü');
$replace = array('Ae', 'ae', 'Oe', 'oe', 'Ue', 'ue');
$string = str_replace($search, $replace, $string);
echo $string; // Ausgabe: Ein String mit vielen Umlauten: AeaeUeueOeoe
Zudem ist str_replace schneller als preg_replace. Solltest du jedoch kompliziertere Stringersetzungen brauchen, solltest du preg_replace den Vorzug geben.
Grüße,
Fabian St.
Meine Website: http://fabis-site.net
--> XHTML, CSS, PHP-Formmailer, Linux
---------------------
fabi@erde ~# whatis spam
spam: nothing appropriate
---------------------
Selfcode: ie:% fl:| br:^ va:) ls:& fo:) rl:( n4:° ss:| de:> js:| ch:| mo:) zu:)