如何使用PHP解析HTML?

时间:2014-12-24 17:48:19

标签: 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></br>
       .....
    </div>
   </div>
  </body>

通过解析上面的html文件。我只想打印&lt;的非文字内容。 span&gt;元件。即

 Name of the Book

我试图使用'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模块来帮助我。

1 个答案:

答案 0 :(得分:0)

simple_html_dom使用类似jQuery(或CSS)的选择器,因此find将返回一个对象数组(如果有的话)。

echo $html->find('span[class=bookname]', 0)->innertext; 

应该有效。甚至更好:

echo $html->find('span.bookname', 0)->innertext;