Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [regex] Poprawne zdanie
kilas88
post
Post #1





Grupa: Zarejestrowani
Postów: 305
Pomógł: 25
Dołączył: 27.01.2007

Ostrzeżenie: (0%)
-----


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?

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
neverever
post
Post #2





Grupa: Zarejestrowani
Postów: 278
Pomógł: 44
Dołączył: 17.02.2004
Skąd: Wieliczka

Ostrzeżenie: (10%)
X----


  1. $text = preg_replace('/(\pL+)([ ]+)([.,]){1}(\pL){0,1}/', '$1$3 $4', $text);
Go to the top of the page
+Quote Post
kilas88
post
Post #3





Grupa: Zarejestrowani
Postów: 305
Pomógł: 25
Dołączył: 27.01.2007

Ostrzeżenie: (0%)
-----


Dziękuję neverever, o coś takiego chodziło (IMG:style_emoticons/default/smile.gif)

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


Teraz działa idealnie (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 22:15