Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] uwzględnienie znaku nowej linii w preg_replace()
KCG
post
Post #1





Grupa: Zarejestrowani
Postów: 449
Pomógł: 4
Dołączył: 1.12.2006

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


Mam takie wyrażenie regularne, wyrównujące tekst:
  1. $pattern = '~\[right\](.*)\[\/right\]~';
  2. $replace = '<div style="text-align: right;">$1</div>';

Ogólnie działa, poza przypadkiem, gdy w tekście pojawi się znak nowej linii. Jak to zmienić, żeby działało zawsze?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Michael2318
post
Post #2





Grupa: Zarejestrowani
Postów: 651
Pomógł: 116
Dołączył: 3.06.2012
Skąd: Lędziny

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


  1. $string = preg_replace("#\[right\](.*?)\[\/right\]#si", "<div style=\"text-align: right;\">\\1</div>", $string);


Ten post edytował Michael2318 15.03.2013, 07:54:57
Go to the top of the page
+Quote Post
KCG
post
Post #3





Grupa: Zarejestrowani
Postów: 449
Pomógł: 4
Dołączył: 1.12.2006

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


kombinowałem z 's', ale nie w tym miejscu. Zawsze dodaje się to na końcu? 's' to znak biały, a 'i'? Znak '?' po '*' jest dla jakiego przypadku? Zauważyłem, że działa bez niego.
Dzięki za pomoc (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: 23.08.2025 - 04:43