2010-10-24 4 views
4

Im la recherche d'un moyen de sélectionner la div les plus intérieures avec PHPDOMXpath | Sélectionnez les divs les plus intimes

par exemple:

<div> 
    <div> 
     <div> 
      - 
     </div> 
    </div> 
    <div> 
     <div> 
      <div> 
       - 
      </div> 
     </div> 
    </div> 
</div> 

Les DIV « s contenant le - seraient sélectionnés dans le NodeList

Im en utilisant DOMDocument et DOMXpath pour aller jeter le html, heres et l'exemple de ce que l'une de mes méthodes afin que vous puissiez voir la façon dont ma classe est créée.

public function getkeywords() 
{ 
    foreach($this->Xpath->query('/html/head/meta[@content][@name="keywords"][1]') as $node) 
    { 
     $words = $node->getAttribute('content'); 
     if($words) 
     { 
      return explode(',',str_replace(array(", "," ,"),",",$words)); 
     } 
     return false; 
    } 
    return false;  
} 

Répondre

8

Im la recherche d'un moyen de sélectionner le plus à l'intérieur div

Ce devrait être:

//div[not(descendant::div)] 
+0

+1 pour une réponse correcte. –

+0

Hmm, celui-là est en effet meilleur que le mien +1 * (effaçant le mien) *. – Gordon

+1

Notez que c'est le seul cas où la notation './/' est vraiment nécessaire: c'est-à-dire' // div [not (.// div)] ' –

Questions connexes