Stworzyłem sobie skrypt, który sprawdza błędy popełniane przez użytkowników na moim forum, poprawia je i zaznacza co zrobili źle (potem mogą zedytować posta i poprawić, żeby sprawdzacz już się nie rzucał). Rozwijam sprawdzacza i rozwijam i w końcu stoję w miejscu. Chciałbym pozbyć ludzi nawyku używania dwóch pytajników (debilny pomysł twórców GG zrobił z internetu syf). Przykładowo:
- Jak się nazywasz??
ma poprawić na:
- Jak się nazywasz?
gdzie pytajnik będzie na czerwono czy coś (to sobie zrobię). To jest banał - prosta regułka w str_replace. Chciałbym jednak do tego użyć preg_replace tak, aby poprawiał tylko dwa wykrzykniki, a jeżeli jest ich więcej to zostawił w spokoju. Np.:
- Jak się nazywasz??
na:
- Jak się nazywasz?
a:
- Co ty gadasz?




zostawiał jak jest.
Niestety w powyższym przykładzie zamienia po dwa pytajniki po kolei. Wymyśliłem tak, żeby zamieniał tylko pytajniki ze spacją na końcu - było OK, ale nie zawsze user stawia spację po pytaniu, dlatego to też się nie sprawdza.
Druga rzecz - chciałbym dzięki preg_replace ustawić wstawianie przecinków przed "że" automatycznie. Przykład:
- Myślę że blablabla
zamienia na:
- Myślę, że blablabla
Też niby proste:
preg_replace("#(*.?)że(*.?)#si", '\\1, że \\2' ...
No dobra, ale wtedy jak user już wstawił przecinek:
- Myślę, że blablabla
to w wyniku mam:
- Myślę,, że blablabla
Z góry dzięki za pomoc.