J'essaie de formater une NodeList que j'obtiens via getElementsByTagName, en fait je peux obtenir le contenu de chaque balise, mais je ne peux pas filtrer, j'essaie de faire en sorte que le résultat ressemble à ceci :
EXAMPLE: name: jhon doe number: 12345678 date: 00/00/0000
Mais je ne reçois que du contenu normal :
JOHN DOE 12345678 00/00/0000 lane DOE 7234567890 00/30/0000
Ou si j'utilise [0], il ne renvoie que la première lettre/numéro de chaque balise.
J 1 0 l 7 3
Mon code actuel est ci-dessous, des conseils sur ce que je peux faire ?
<?php $string = ' <tbody> <tr> <td>JOHN DOE</td> <td style="background-color: rgb(25, 194, 25);">12345678</td> <td>00/00/0000</td> </tr> <tr> <td>lANE DOE</td> <td style="background-color: rgb(25, 194, 25);">7234567890</td> <td>30/00/0000</td> </tr> </tbody>'; $dom = new DOMDocument(); $dom->loadHTML($string); foreach($dom->getElementsByTagName('td') as $td) { echo $td->textContent[0] . '<br/>'; }
L'erreur que vous avez commise est que vous avez utilisé la balise td, qui ne renvoie pas chaque enregistrement mais chaque valeur (regardez votre code).
Vous devez d'abord utiliser la balise "tr"
Deuxièmement, vous devez utiliser nodeValue pour obtenir des données pour tout élément spécifique par index de mention
Le code corrigé est donné à titre de référence. Si quelque chose n'est pas clair, n'hésitez pas à poser des questions
.Si vous souhaitez afficher tous les éléments, vous pouvez simplement utiliser une boucle
D'où espérez-vous que
姓名
、号码
和日期
vienne ? PHP n'a aucune idée de ce que signifient les valeurs du tableau, vous devez donc les définir vous-même d'une manière ou d'une autre.Il n'y a aucune indication en HTML sur la signification de chaque cellule du tableau, vous ne pouvez donc que deviner et espérer que la structure du tableau ne change jamais. Les tableaux sont triés par nom - numéro - date, vous pouvez donc déduire des numéros de cellule que l'étiquette d'un spécifique doit être : 0 = nom, 1 = numéro, 2 = date.
Donc, si vous analysez le HTML pour chaque tableau ligne , puis analysez chaque ligne pour chaque tableau cellule , vous pouvez ajouter des balises en fonction de l'ordre des cellules.
Mais veuillez noter que si le contenu du HTML provient d'une source externe et que celle-ci modifie l'ordre des cellules, une erreur se produira.