Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [regex] Poprawne zdanie
Forum PHP.pl > Forum > Przedszkole
kilas88
Witam,

W zmiennej przechowuję zdanie, typu:

  1. $text = "Z powodu wysokiej aktywności botów ,możliwość postowania przez gości została zablokowana do odwołania .Informacje i dyskusja . Napisz post .";


Zdanie to jest niepoprawne gramatycznie. Chciałbym by kropki i przecinki były na właściwym miejscu, tzn.

  1. // Z powodu wysokiej aktywności botów, możliwość postowania przez gości została zablokowana do odwołania. Informacje i dyskusja. Napisz post.


W tym celu staram się opracować jedno wyrażenie regularne, typu:

  1. $text = preg_replace('#(.*)\s{0,}(\.|,)\s{0,}(.*)?#s', '$1$2 $3', $text);


Jednak coś mi nie idzie. Czy mógłby ktoś nakierować, pomóc?

neverever
  1. $text = preg_replace('/(\pL+)([ ]+)([.,]){1}(\pL){0,1}/', '$1$3 $4', $text);
kilas88
Dziękuję neverever, o coś takiego chodziło smile.gif

zrobiłem jednak małą poprawkę:
Kod
$text = preg_replace('/(\pL+)([ ]+)([.,]){1}([ ]*)(\pL){0,1}/', '$1$3 $5', $text);


Teraz działa idealnie smile.gif
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.