2012-03-29 11 views
11

Parsuję i pobieraję dokumenty HTML do DOMDocument. Te dokumenty to formularze podrzędne, które będą wyświetlane na innej stronie. Podczas zapisywania przeanalizowanych DOMDocuments automatycznie dodaje znaczniki doctype, html, head i body. ponieważ pracuję nad formularzami potomnymi, chciałbym usunąć wszystkie te i zapisać tylko znaczniki podrzędne formularza.usuwanie doctype podczas zapisywania obiektu domdocument

Jak mogę pominąć automatyczne generowanie znaczników html, head, body i innych przy zapisywaniu dokumentacji domd?

Odpowiedz

20

samo jak @KoolKabin odpowiedź, ale nieco krótsza:

return preg_replace('~<(?:!DOCTYPE|/?(?:html|body))[^>]*>\s*~i', '', $dom->saveHTML()); 
4

W PHP 5.4 i 2.6 libxml, obecnie jest prostsze podejście: po załadowaniu pliku html jako tego na wyjściu, zostanie wyświetlony następujący kod: bez etykiet typu doctype, html lub body. source

Powiązane problemy