Edgar Ehritt: kleine Fortschritte - DOM-Elemente verarbeiten?

Beitrag lesen

Guten Morgen Michael,

parallel zu den eigenen Programmierschritten lohnt es sich immer auch einen Blick in die DOM-Spezifikation zu werfen. Daraus ergeben sich dann ganz interessante Einblicke, wie PHP zu funktionieren hat.

$needle='foobar';  
$doc   =new DOMDocument();  
$doc->loadHTML($content);  
        # Wo kommt $dom_ele her?  
$datas =$dom_ele->getElementsByTagName('div');  
  
# Methode getElementsByTagName() gibt eine [link:http://de2.php.net/manual/de/class.domnodelist.php@title=DOMNodeList] zurück  
# vgl. [link:http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-536297177@title=NodeList der Spezifikation] dabei ist [link:http://de2.php.net/manual/de/domnodelist.item.php@title=DOMNodeList::item()]  
# Teil des Spezifikationsinterfaces, Deine [code lang=php]foreach
~~~-Schleife kann  
# funktionieren, wird auch funktionieren, muss es aber -von der  
# Spezifikation her- nicht.  
foreach($datas as $data){  
    if($data->getAttribute('class') == $needle){  
        # $date ist vom DOM aus betrachtet [DOMNode](http://de2.php.net/manual/de/class.domnode.php) vgl. [Node](http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-1950641247)  
        # Für dich sollten also die Methode [hasChildNodes()](http://de2.php.net/manual/de/domnode.haschildnodes.php),  
        # [removeChild()](http://de2.php.net/manual/de/domnode.removechild.php) und Eigenschaften firstChild  
  
        # ach ja \*BG\*; in Javascript wird sowas dann so gelöst:  
        # [Node](http://de.selfhtml.org/javascript/objekte/node.htm) (ganze Seite bitte nachvollziehen)  
        # Das sollte Hilfestellung genug sein.  
    }  
}[/code]  
  
Ansonsten sieht das doch alles schon mal recht gut aus. :)  
  
  
Gruß aus Berlin!  
eddi

-- 
Wenn der Weg zur Hölle mit guten Vorsätzen gepflastert ist, wäre der zum Himmel aus bösen Absichten betoniert. Was aber ist dann ein Weg voller Irrtümer?  
Wer weiß - vielleicht der Mittelweg. ;)