Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]preg_replace nie zastępuje wszystkich wystąpień
Forum PHP.pl > Forum > Przedszkole
maviozo
Prosta funkcja, która ma zamienić zwykłe spacje przy pojedynczych literkach, np: " a ", " i " na " a ":
  1. '#( [awizo])( )#m',
  2. '\\1 ',$input);
No i prawie działa, ale niektóre zamienia, a inne nie. Dlaczego? Nie ustawiłem odpowiedniego przełącznika poza 'm'?

Nikt nic nie wie?
_Borys_
  1. preg_replace('#(\b[awizo]) #','\\1 ',$input);
SmokAnalog
Flaga "m" nic u Ciebie nie da, bo nie używasz ani ^, ani $.

Ja bym zrobił tak:
  1. preg_replace('#(\s+)([awizo])\s+#', '\1\2 ', $input);
maviozo
Niestety obie porady nie pomogły. O ile SmokaAnaloga niewiele zmienia, to _Borysa_ rozwala niemal stronę, wstawiając znaki również w sytuacji gdzie jest np.: <a href=.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.