in php I would like to open a html file, delete the content of the div(class Areas) and save it.
$dom = new DOMDocument;
$dom->loadHTMLFile( \"temp/page\".$y.
You want to remove the divs with class Area
, so simply change the XPath query:
$pDivs = $xpath->query(".//div[@class='Area']"); // not 'Areas'
And of course you will also need to do something with the results, for example:
echo htmlspecialchars($dom->saveHTML()); // prints the result
You were very nearly there. You just needed to change Areas
to Area
and then use saveHtmlFile
instead of saveHTML
:
$dom = new DOMDocument;
$dom->loadHTMLFile( "temp/page".$y.".xhtml" );
$xpath = new DOMXPath( $dom );
$pDivs = $xpath->query(".//div[@class='Area']");
foreach ( $pDivs as $div ) {
$div->parentNode->removeChild( $div );
}
$dom->saveHTMLFile("temp/page".$y.".xhtml");
This is assuming you want to save the HTML back to the original document. Do note that DOMXPath will add a doctype to the top of your document, I assume that's okay?
saveHTML just outputs the html as a string use saveHTMLFile to save it as a file.