Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Dopasowanie preg_replace do tabeli
Forum PHP.pl > Forum > Przedszkole
lukasamd
Witam,
chciałbym ze źródłowego tekstu usunąć wszystkie znaczniki html, a w wypadku table również treść w nich zawartych, tak więc strip_tags niestety mi nie wystarcza.

Spróbowałem więc najpierw przejechać wszystko eregi, ale w manualu jest już info o tym, aby z niego nie korzystać, więc zapisałem co trzeba w preg_replace. Występuje jednak pewien problem, który można zobaczyć na przykładzie:

  1. $tekst = 'To jest tylko testowy tekst <table>w tabeli</table> i jeszcze raz <table style="display:none;">w tabeli</table> a to już jest koniec';
  2. $wzorzec = '/<table.+<\/table>/';
  3.  
  4. echo preg_replace($wzorzec, '', $tekst);


W efekcie otrzymuje napis:
To jest tylko testowy tekst a to już jest koniec

choć powinienem otrzymać:
To jest tylko testowy tekst i jeszcze raz a to już jest koniec

Wiem, że problem polega na tym, iż we wzorcu dałem .+ przez co dopasowywał do ostatniego zamkniętego table.
Nie wiem jednak jak napisać to tak, ażeby działało jak powinno.
lukasamd
Dzięki, poczytałem o tej zachłanności i teraz działa jak powinno smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.