Bonjour
J'essaie de parser une page html qui est construite comme ceci
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 ... <section class="ui grid topbar"> <div class="ui row"> ... des divs etc </div> </section> ...
Pour cela j'essaie avec la regex qui selon moi veut dire de sélectionner n'importe quel caractère en n importe quelle quantité entre les deux balises section:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $strResult = implode("", file("test_1.php")); $pattern = '#<section(.*)<\/section>#'; preg_match_all($pattern, $strResult, $n); echo '<pre>'; var_dump($n);
le resultat est vide :
J'essaie alors avec DOMDocument() avec ce code qui selon moi devrait extraire des blocs de code délimités par le tag 'section'array(2) {
[0]=>
array(0) {
}
[1]=>
array(0) {
}
}
mais là aussi le résultat est vide :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $doc = new DOMDocument(); $doc->loadHTMLFile("test_1.php"); $elements = $doc->getElementsByTagName('section'); echo '<pre>'; var_dump($elements);
Question : Comment dois-je donc procéder pour parser une page HTML et en extraire le code entre les balises section ? L un est elle préférable à l 'autre et quelle sont donc mes erreurs pour obtenir un résultat vide ?bject(DOMNodeList)#2 (1) {
["length"]=>
int(0)
}
Merci pour votre aide.
Partager