Frage

Gibt es eine Möglichkeit, ein HTML-Element zu entfernen, indem die DOMDocument-Klasse?

War es hilfreich?

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

So löschen Element mit DOMDocument?

Wie voll HTML von DOMXPath :: query () Methode, um ?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top