Hi
Die einfachere Variante ist sicher mit zwei replace Funktionen:
$string = preg_replace('/(^,)|(,$)/','',preg_replace('/[^\d%]+/', ',', $string ));sieht sehr gut aus ;-)
bleibt nur noch die Frage, ob man im regex aufeinander folgende Prozentzeichen durch eins ersetzen kann, oder ob man dafür ein weiteren regex braucht :)
https://forum.selfhtml.org/?t=147081&m=954472Sven
Das wäre ähnlich wie mit den Kommata am Anfang und Ende; es geht zwar theoretisch alles in einem RegExp, aber dadurch wird es sehr umständlich.
Ich würde hier auch wieder zu einem zweiten Replace tendieren.
mfg