如何使用php解析HTML?
我有以下HTML文件如何使用php解析HTML?,php,html-parsing,simple-html-dom,Php,Html Parsing,Simple Html Dom,我有以下HTML文件 <body> <div class="container"> <div class="book"> <b>Book Name:</b></br> <span class="bookname"> Name of the Book </span></br> <b>Summary:</b>&
<body>
<div class="container">
<div class="book">
<b>Book Name:</b></br>
<span class="bookname"> Name of the Book </span></br>
<b>Summary:</b></br>
.....
</div>
</div>
</body>
我正在尝试使用“simple_html_dom”第三方插件进行解析
<?php
include_once('simple_html_dom.php');
$html = new simple_html_dom();
$html->load_file("html_file.html");
echo $html->find('span[class=bookname]')->innertext;
?>
但是上面的代码不起作用。如果我做错了什么,请告诉我,或者如果你知道的话,你可以通过使用PHP DOM模块来帮助我。simple\u html\u DOM使用类似jQuery或CSS的选择器,因此find将返回一个对象数组(如果有的话)
echo $html->find('span[class=bookname]', 0)->innertext;
应该有用。或者更好:
echo $html->find('span.bookname', 0)->innertext;
您必须做得比代码不起作用更好。我们不知道这意味着什么。我没有simplehtmldom要测试,但我假设find返回一个数组或元素集合,您要循环,因此没有innertext属性。你应该试着打开错误报告或者检查你的错误日志,看看是否有什么东西被报告了,很可能是这样的。然后,如果你阅读文档查找,通过CSS选择器查找元素。如果设置了索引,则返回第n个元素对象,否则返回对象数组。在阅读文档的3秒钟内,您会发现这是一个惊人的发现。
echo $html->find('span.bookname', 0)->innertext;