Wie ein HTML-Element mit der DOMDocument Klasse entfernen
-
19-09-2019 - |
Frage
Gibt es eine Möglichkeit, ein HTML-Element zu entfernen, indem die DOMDocument
-Klasse?
Lösung
http://us2.php.net/manual/en/domnode. removechild.php
DomDocument ist ein DomNode .. Sie können einfach anrufen Kind entfernen, und Sie sollten in Ordnung sein.
EDIT: Nur bemerkt, dass Sie wahrscheinlich über die Seite sprechen Sie mit gerade arbeiten. Weiß nicht, ob DomDocument funktionieren würde. Sie können sehen verwenden Javascript an diesem Punkt möchte (wenn seine bereits in den Client bedient worden)
Andere Tipps
Neben Dave Morgan Antwort können Sie DOMNode::removeChild
verwenden Kind entfernen aus der Liste der Kinder:
ein Kind von Tag-Namen Entfernen
//The following example will delete the table element of an HTML content.
$dom = new DOMDocument();
//avoid the whitespace after removing the node
$dom->preserveWhiteSpace = false;
//parse html dom elements
$dom->loadHTML($html_contents);
//get the table from dom
if($table = $dom->getElementsByTagName('table')->item(0)) {
//remove the node by telling the parent node to remove the child
$table->parentNode->removeChild($table);
//save the new document
echo $dom->saveHTML();
}
ein Kind von Klassennamen Entfernen
//same beginning
$dom = new DOMDocument();
$dom->preserveWhiteSpace = false;
$dom->loadHTML($html_contents);
//use DomXPath to find the table element with your class name
$xpath = new DomXPath($dom);
$classname='MyTableName';
$xpath_results = $xpath->query("//table[contains(@class, '$classname')]");
//get the first table from XPath results
if($table = $xpath_results->item(0)){
//remove the node the same way
$table ->parentNode->removeChild($table);
echo $dom->saveHTML();
}
Ressourcen
http://us2.php.net/manual/en/domnode. removechild.php