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

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: 24.08.2025 - 18:10