Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [regex] Poprawne zdanie
kilas88
post 11.02.2010, 23:10:04
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
neverever
post 11.02.2010, 23:39:36
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);


--------------------
neverever
Go to the top of the page
+Quote Post
kilas88
post 12.02.2010, 08:41:11
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 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
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 31.07.2025 - 08:24