Autor Zpráva
Mufna
Profil
Zdravím Vás. Jak mám vyříznout vše co je mezi tagy <h2> a </h2> v řetězci jako tento ? Obecně chci finálně odstranit všechny HTML tagy, tedy použít funkci strip_tags(), ale nejprve potřebuji odstranit ten nadpis H2, který tam nechci.

<div class="block-1">
<h2><span>Nadpis, který chci odstranit, včetně HTML tagů</span></h2>
<p>Text mezi tagy P, chci ho ponechat a zobrazovat</p>
<p>Případná další P, taky ponechat a zobrazovat</p>
</div>
Keeehi
Profil
Toto by ti mělo pomoct:
preg_match("~<h2>.*?</h2>~",$kde,$nalez);
echo strip_tags($nalez[0]);
Mufna
Profil
Keehi

vyříznutí H2 je OK, ale jak mám dál pracovat s tím, co je mezi tagy <p> ? Nevím, kde mi to zůstalo, když si vypíšu var_dump($nalez), tak je tam ten řetězec mezi H2. Já bych potřeboval i ten zbytek, tedy to co je mezi tagy <p>

EDIT: Zkusil jsem na to jít obráceně a použil jsem
preg_match("~<p>.*?</p>~",$kde,$nalez);

a očekával jsem, že výsledkem bude pole se všemi výskyty odstavců <p>, ale bohužel výsledkem je pouze první odstavec. Šlo by to nějak upravit, aby to našlo všechny odstavce <p> a uložilo je do pole ?
Kcko
Profil
Mufna:
preg_match_all
Mufna
Profil
Tak díky, myslím, že už jsem našel to co potřebuji, tj. preg_match_all()
EDIT: díky Kcko za snahu, viděl jsem tvoji radu až když jsem to už našel a dopsal svůj příspěvek

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0