Comment convertir une table HTML php en tableau

PHPz
Libérer: 2023-04-19 13:42:46
original
989 Les gens l'ont consulté

Les tableaux en HTML sont souvent utilisés pour afficher des données. Cependant, lorsque nous devons traiter les données, il est plus pratique de convertir les données du tableau en tableau. PHP est un langage de programmation puissant qui fournit de nombreuses fonctions et méthodes pour traiter les tableaux HTML et les convertir en tableaux.

1. Le format de base des tableaux HTML

Avant d'introduire la conversion de tableaux, nous devons comprendre le format de base des tableaux HTML. Un tableau HTML général se compose de balises telles que

, ,
et . Parmi eux, représente le tableau entier, représente la ligne,
représente l'en-tête de colonne et

Par exemple, ce qui suit est un simple tableau HTML :

<table>
  <tr>
    <th>姓名</th>
    <th>年龄</th>
    <th>性别</th>
  </tr>
  <tr>
    <td>张三</td>
    <td>25</td>
    <td>男</td>
  </tr>
  <tr>
    <td>李四</td>
    <td>28</td>
    <td>女</td>
  </tr>
</table>
Copier après la connexion

2. Convertir un tableau HTML en tableau en utilisant PHP

En PHP, nous pouvons utiliser des expressions régulières ou DOM pour analyser les tableaux HTML. Nous introduisons ici une méthode d'utilisation de DOM.

  1. Créer un objet DOM

Tout d'abord, nous devons créer un objet DOM et y charger le contenu HTML. Les chaînes HTML peuvent être converties en objets DOM à l'aide de la fonction simplexml_load_string().

$html = '<table>...</table>';
$dom = new DOMDocument();
$dom->loadHTML($html);
Copier après la connexion
  1. Parcourir le contenu de la table

Ensuite, nous devons parcourir le contenu de la table et stocker la valeur de chaque cellule dans un tableau. Vous pouvez utiliser la méthode getElementsByTagName() pour obtenir toutes les cellules du tableau.

$table = $dom->getElementsByTagName('table')[0];
$rows = $table->getElementsByTagName('tr');
$data = array();
foreach ($rows as $row) {
  $cols = $row->getElementsByTagName('td');
  $row_data = array();
  foreach ($cols as $col) {
    $row_data[] = $col->nodeValue;
  }
  $data[] = $row_data;
}
Copier après la connexion

Dans ce code, nous obtenons d'abord l'objet table, puis parcourons chaque ligne. Pour chaque ligne, nous obtenons toutes les cellules qu'elle contient et ajoutons la valeur de la cellule à un tableau de données de ligne. Enfin, nous ajoutons les données de ligne au tableau de données de la table.

  1. Données du tableau de sortie

Maintenant que nous avons converti les tableaux HTML en tableaux, ils peuvent être générés ou traités davantage. Par exemple, nous pouvons utiliser la fonction print_r() pour imprimer les données converties. Le résultat de sortie de

print_r($data);
Copier après la connexion

est le suivant :

Array
(
    [0] => Array
        (
            [0] => 姓名
            [1] => 年龄
            [2] => 性别
        )

    [1] => Array
        (
            [0] => 张三
            [1] => 25
            [2] => 男
        )

    [2] => Array
        (
            [0] => 李四
            [1] => 28
            [2] => 女
        )
)
Copier après la connexion

3. Conclusion

Grâce au code ci-dessus, nous pouvons convertir la table HTML en un tableau PHP avec une structure de tableau bidimensionnelle. Cette approche constitue un moyen simple mais puissant de traiter rapidement les données dans les tableaux HTML. Dans les projets réels, nous devons apporter certaines modifications et optimisations au code en fonction des besoins réels.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal