Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Wyrażenia regularne - wyraz poprzedzający i następny
Dapi
post
Post #1





Grupa: Zarejestrowani
Postów: 186
Pomógł: 13
Dołączył: 7.08.2009

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


Witam.

Próbuję napisać wyrażenie regularne, które przykładowo usunie mi pogrubione wyrazy, ale zostawi w spokoju wyrazy pogrubione i pochylone (z założeniem, że pochylenie będzie przed pogrubieniem => <i><b>Lorem ipsum</b></i>). Brzmi może zawile, dlatego mały przykładzik.

Przed:
aaabbbcccdddeeefff

Po:
aaacccdddfff

  1. $string1 = preg_replace("/(?![i\])[b\](.*?)[\/b\](?![\/i\])/si", '', $string);
  2. $string2 = preg_replace("/([i\]){0}([b\]){1}(.*?)([\/b\]){1}([\/i\]){0}/si", '', $string);

Ani jedno, ani drugie działa tak jak bym chciał, usuwając za dużo.

Jak powinno wyglądać poprawne wyrażenie, spełniające moje wymagania?

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Dapi
post
Post #2





Grupa: Zarejestrowani
Postów: 186
Pomógł: 13
Dołączył: 7.08.2009

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


lord2105, troszeczkę za szybko chciałem odpisać, że działa, ale niestety po testach jednak działa tak jak moje kody, czyli usuwa za dużo (IMG:style_emoticons/default/sad.gif)
_Borys_, Twój kod działa dokładnie tak jak chcę, przynajmniej na razie (IMG:style_emoticons/default/wink.gif) Reszta wyjdzie w praniu, ale miejmy nadzieję, że będzie dobrze (IMG:style_emoticons/default/smile.gif)

Dzieki Wam obu
Go to the top of the page
+Quote Post

Posty w temacie


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: 16.09.2025 - 00:41