ereg_replace vs. preg_replace Unklarheit/Problem

Promaetheus

Mitglied
Ich habe bisher meine doppelten Beistriche ganz simpel mit ereg_replace mit einer einfachen RegEx gelöst. Da ereg_replace veraltet ist wollte ich umstellen auf preg_replace, jedoch funktioniert dann, warum auch immer, mein RegEx nicht mehr. Wo ist denn hier der Hund begraben?

Aktuelle Codezeile:
PHP:
$str = preg_replace(",{2,}",",",$str);
Also ganz simpel: bei mindestens doppelt vorkommenden Beistrichen werden diese durch einen einzelnen Beistrich ersetzt. Mit ereg_replace kein Problem, mit preg_replace aber schon.

Könnt ihr mir bitte hier weiterhelfen?
 
Vorweg: Mit Bindestrichen meinst du Kommas, oder?

Ich kann es gerade nicht selbst testen, aber

1. Du wirst wohl preg_replace_all verwenden wollen
2. Deinem regulären Ausdruck mangelt es an Begrenzern (das erste Zeichen des String wird als Abgrenzung angesehen und schließt entsprechend den Ausdruck auch ab, gefolgt von eventuellen Modifiern)

PHP:
$str = preg_replace_all("/,{2,}/",",",$str);
 
Zurück