[英]how to parse Html element using php?
I want to get <a>
element of html. I use xPath /html/body/nav/div/a
but not correct.我想获取 html 的<a>
元素。我使用 xPath /html/body/nav/div/a
但不正确。 Someone know how I get the Example text
?有人知道我如何获得Example text
吗?
<nav class="navbar navbar-expand-xl" id="menu">
<div>
<a>
<i class="fas fa-user mr-2"></i>
Example text
</a>
</div>
You can parse it via DOM or use XPath.您可以通过 DOM 解析它或使用 XPath。
Here is an example of each.这是每个的示例。
Demo: https://3v4l.org/nvcYP演示: https://3v4l.org/nvcYP
$html = <<<'_HTML'
<nav class="navbar navbar-expand-xl" id="menu">
<div>
<a><i class="fas fa-user mr-2"></i>Example text</a>
</div>
</nav>
_HTML;
libxml_use_internal_errors(true);
$doc = new DOMDocument();
$doc->loadHTML($html);
// parsing the elements
$nav = $doc->getElementById('menu');
$text = $nav->getElementsByTagName('a')->item(0)->nodeValue;
echo $text;
// using xpath
$xpath = new DOMXPath($doc);
$text = $xpath->query('//nav[@id="menu"]/div/a')->item(0)->nodeValue;
echo $text;
Your code should look like this:您的代码应如下所示:
<i class="fas fa-user mr-2"> Example text </i>
Here is the parse coding:这是解析编码:
<?php
$doc = new DOMDocument();
$doc->loadHTML("<html><body><h1>Parsing Html in PHP</h1></body></html>");
echo $doc->saveHTML();
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.