Autor Zpráva
xlifer
Profil
Neznáte nějaký dobře napsaný regulární výraz, který dokáže ze zdrojového kódu webu odstranit HTML a PHP, tak aby zůstal jen obsah?
Johnik
Profil
Nejjednoduseji vymazes vsechno mezi < a >. Ale kdyz v textu bude jeden z tech znaku pouzit jinak (treba porovnavani vetsi, mensi), tak to skonci chybou. Ale stale se to podle me da ohlidat rucne, nez psat vsechny html tagy (<(\?|\?php|a|b|u|i|....).
Joker
Profil
Johnik:
Nejjednoduseji vymazes vsechno mezi < a >
To byla i moje první myšlenka, jenže to nebude fungovat na PHP kód (ani třeba Javascript), protože tam je > docela hojně používaný operátor.
Možná v prvním kole odstranit vše mezi <? a ?>, ve druhém vše mezi <script> a </script> a ve třetím vše mezi < a > - a co zůstane je obsah.

Není-li o zdrojovém kódu známo nic bližšího, šel bych na to přes parser a ne regulární výraz.
Související: Diskuse, zda používat regulární výrazy pro parsování HTML
Tori
Profil
xlifer:
tak aby zůstal jen obsah
anebo nejdřív vyjmout obsah <body> (případně divu s obsahem), a pak teprv viz [#2], aby vám nezůstalo něco jako:
Nadpis stránkya {text-decoration:none;}DomůProduktyKontaktTady začíná obsah stránky .....
(nevím, co přesně myslíte obsahem)
Trejpa
Profil
Tori:
Stránka ale nemusí obsahovat značku <body>, musí obsahovat jen element body.
joe
Profil
Zobrazit stránku v prohlížeči, vypnout její styl a obsah zkopírovat. Bude to asi nejlepší způsob.

Proč? Protože v PHP může být přece tohle:

<?php
echo '<b>Nějaký text</b>';
?>


Vymazání všeho by tak mohlo způsobit, že smaže i nějaký obsah a to je zřejmě nechtěnné.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0