Как parsing HTML-файл в PHP?

HTML Программирование и разработка

В этой статье мы научимся парсить HTML в PHP.

Что такое parsing?

Обычно синтаксический анализ представляет собой преобразование одного типа данных в другой. Это означает, как мы можем конвертировать различные типы данных в HTML. Например: Преобразование строки в HTML.

Зачем нужен parsing?

Чтобы добавить динамические данные (HTML-контент) в определенный момент PHP-кода, нам нужен синтаксический анализ. Например: для добавления данных (информации) в виде HTML нам нужно сделать этот динамический шаблон строкой, а затем преобразовать его в HTML.

Как мы должны делать parsing?

Мы должны использовать функцию loadHTML() для разбора.

Синтаксис:

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

Параметры:

  • $source: эта переменная является контейнером HTML-кода, который вы хотите проанализировать.
  • $options: вы можете использовать параметр options для указания дополнительных параметров Libxml.

Возвращаемое значение: возвращает true в случае успеха или false в случае неудачи.

Пример 1:

PHP

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

Выход:

Parsing Html in PHP

Пример 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>

Выход:

No of rows in the table is 3

Читайте также:  Асинхронное программирование для начинающих с использованием Async / Await в C #
Оцените статью
bestprogrammer.ru
Добавить комментарий