¿Cómo analizar un archivo HTML en PHP?

En este artículo, aprenderemos a analizar HTML en PHP.

¿Qué es el análisis?

Generalmente, analizar es convertir un tipo de datos a otro. Significa cómo podemos convertir varios tipos de datos a HTML. Por ejemplo: Convertir string a HTML.

¿Por qué necesitamos analizar?

Para agregar los datos dinámicos (contenido HTML) en un punto determinado en el código PHP, necesitamos analizar. Por ejemplo: para agregar los datos (información) en forma de HTML, necesitamos hacer esa plantilla dinámica en una string y luego convertirla a HTML.

¿Cómo debemos hacer el análisis?

Deberíamos usar la función loadHTML() para analizar.

Sintaxis:           

loadHTML(string $source,int $options=0)

Parámetros:

  • $fuente: esta variable es el contenedor del código HTML que desea analizar,
  • $opciones: puede usar el parámetro de opciones para especificar parámetros adicionales de Libxml.

Valor devuelto: Devuelve verdadero en caso de éxito o falso en caso de fallo. 

Ejemplo 1:

PHP

<?php
  $doc = new DOMDocument();
  $doc->loadHTML("<html><body><h1>Parsing Html in PHP</h1></body></html>");
  echo $doc->saveHTML();
?>

Producción:

Parsing Html in PHP

Ejemplo 2:               

PHP

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
     
</head>
<body>
<?php
    $name=
    $res = '
    <table id="tablepress-3" style="width:100%">
      <tr>
        <th>Company</th>
        <th>Contact</th>
        <th>Country</th>
      </tr>
      <tr>
        <td>Alfreds Futterkiste</td>
        <td>Maria Anders</td>
        <td>Germany</td>
      </tr>
      <tr>
        <td>Centro commercial Moctezuma</td>
        <td>Francisco Chang</td>
        <td>Mexico</td>
      </tr>
    </table>
    ';
    $dom = new DomDocument();
    @ $dom->loadHTML($res);
    //DOMElement
    $table = $dom->getElementById('tablepress-3');
    //DOMNodeList
    $child_elements = $table->getElementsByTagName('tr');
    $row_count = $child_elements->length ;
 
    echo "No. of rows in the table is " . $row_count;
    ?>
</body>
</html>

Producción:

No of rows in the table is 3

Publicación traducida automáticamente

Artículo escrito por mahalenachiket77 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *