[PHP]Jak zrobić filtr który usuwa powtarzające się elementy?

Witam,

mam mały problem jak zrobić filtr który usuwa powtarzające się elementy, np. znaki zapytania.

Jak ktoś zada pytanie: “Jaka jest u was pogoda???” to żeby zmieniało na: “Jaka jet u was pogoda?” żeby nie pokazywało żadnych ostrzeżeń że za dużo jest znaków zapytania tylko od razu dodawało do bazy danych poprawną wersję czyli: “Jaka jest u was pogoda?”

Tak samo z wykrzyknikami: np. "Która jest u was godzina! !!

Ale w jakim języku?

1.Pisz po polsku

2.O co Tobie chodzi,jaki filtr w jakim języku;programie.

nie do końca…

Przejdzie np. "ARGH! !!

$pytanie = preg_replace('/(\?|\!|\-)(\?|\!|\-){1,}/','\1',$pytanie);

$pytanie = preg_replace('/(\?|\!|\-)(\?|\!|\-)+/','\1',$pytanie);

może jedno z poniższych lepie Ci zadziała (piszę z pamięci więc sprawdź), usuwa wykrzykniki, myślniki - i co tam sobie zamarzysz…

Przykład z manuala

$pytanie = preg_replace('{(.)\1+}','$1',$pytanie);

ale to zamieni również “boom”->“bom”, “aaaahaa”->“aha”,“koordynacja”=>“kordynacja”

O dzięki!

Bardzo wam dziękuje :smiley:

Wiesz, kwestia dopasowania.

Jak by tak chcieć się wszystkiego czepiać, to Twój przykład też idealny nie jest

…np. zmieni "AAARGH**!???**!!

może więc podam jeszcze inny przykład $pytanie = preg_replace(’{([^[:alnum:]])\1+}’,’$1’,$pytanie);