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:
$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'; $wzorzec = '/<table.+<\/table>/';
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.