В этой статье мы научимся парсить 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