2010-02-27 7 views
1

Quel est le meilleur moyen d'obtenir des éléments html + valeurs? exemple:obtenir tout à l'intérieur/entre les balises html

<div id="abc" class="classs"> 
    <img src="pic1.png" alt="pico"> 
    <img src="pic2.png" alt="nano"> 
</div> 

ce que j'ai est le id = abc de l'élément div. Je veux tout dans l'élément div comme:

class of the div ("classs") 
src of the pictures and other data: 
src="pic1.png", alt="pico" 
src="pic2.png", alt="nano" 

il devrait être dans un tableau, un objet ou quelque chose. Que préférez-vous? xpath? regex? xmlobject?

+0

Est-il possible d'utiliser XHTML? Cela faciliterait l'utilisation de solutions XML. – Skilldrick

+0

Voulez-vous faire ce côté serveur ou côté client? –

+0

côté serveur et oui, je peux utiliser xhtml – MilMike

Répondre

0

Utilisez cette fonction:

public function innerHTML($DOMnode) { 
    return preg_replace(
     '/^<(\w+)\b.*?>(.*)<\/\1?>/s', 
     '$2', 
     $DOMnode->ownerDocument->saveXML($DOMnode) 
    ); 
} 
+0

IA IA Cthulhu Fhtagn !!! http://www.codinghorror.com/blog/2009/11/parsing-html-the-cthulhu-way.html – Gordon

+0

Si vous étudiez mieux le code, vous remarquerez que vous n'analysez pas toute la page HTML, mais seulement le contenu du noeud DOM! – stillstanding

+0

Je l'ai étudié et j'ai trouvé horrible de convertir le DomNode en chaîne afin de pouvoir lancer un Regex dessus. – Gordon

Questions connexes