Cytat(ro6erto @ 4.07.2010, 16:26:30 )

ale czy w tym przypadku nie będzie tak że pousuwa spacje tam gdzie nie powinno tzn między wyrazami?
Nie ma usuwać dowolnego znaku tylko konkretne: ?!;:.,-+=><
Czyli ma zamienić ciąg ' x' na ciąg bez spacji czyli 'x' gdzie x jest jednym ze znaków wymienionym wyżej
to zrob tak:
Tam pierw jest spacja+przecinek i zamieniasz to na sam przecinek, wtedy zwyklych spacji ci nie ruszy

A wyrazenie regularne powinno wygladac CHYBA tak:
A jesli nie chodzi tylko o przecinek, to tak:
$dane= preg_replace("/\s(.+?)/", "\\1", $dane); // usuwa spacje przed kazdym znakiem // albo tak
$dane = preg_replace("/\s(\W+)/", "\\1", $dane); // usuwa spacje przed kazdym znakiem innym niz word //albo i tak
$dane = preg_replace("/\s([\,\.]+)/", "\\1", $dane); // usuwa spacje przed przecinkiem lub kropka
To moje przyklady, byc moze sa zle (dopiero sie ucze regexa), ale warto poprobowac.
EDIT:
Bawie sie akurat preg_replace, wiec sprawdzilem swoje wypociny i ten match:
zalatwi twoj problem (dziala), teraz wystarczy ze dodasz pomiedzy [ ] inne znaki, ktore maja byc brane pod uwage (poprzedzajac \) i wszystko ladnie podmienia

Pozdrawiam
Pan nizej tez podal dobre rozwiazanie.