PHP用DOM解析html

PHP用DOM解析html,php,html,dom,Php,Html,Dom,我正在努力让下面的代码正常工作,这样我就能理解我在一个更大的项目上所做的事情。在大多数情况下,我只是想确保我可以通过元素的标签抓取元素。代码似乎在“$html=new simple_html_dom();”处中断,因为如果我对其进行注释,则会得到两个打印输出。但是如果没有注释掉,屏幕上就不会显示任何内容 <?php # create and load the HTML include('simple_html_dom.php'); print "hello "; $html = new

我正在努力让下面的代码正常工作,这样我就能理解我在一个更大的项目上所做的事情。在大多数情况下,我只是想确保我可以通过元素的标签抓取元素。代码似乎在“$html=new simple_html_dom();”处中断,因为如果我对其进行注释,则会得到两个打印输出。但是如果没有注释掉,屏幕上就不会显示任何内容

<?php
# create and load the HTML

include('simple_html_dom.php');
print "hello ";
$html = new simple_html_dom();

print "world"
#$html->load("<html><body><p>Hello World!</p><p>We're here</p></body></html>");

# get an element representing the second paragraph
#$element = $html->find("p");
# modify it
#$element[1]->innertext .= " and we're here to stay.";

# output it!
#echo $html->save();
?>

简单html\u dom.php
文件是否实际退出并加载?您可能希望编写类似于以下内容的
include

<?php
if(!@file_exists('./simple_html_dom.php') ) 
{
    echo 'can not include: simple_html_dom.php';
    die();
} 
else 
{
    include('./simple_html_dom.php');
}
?>


因此,服务器上的PHP解析器会让您知道是否有问题。

您应该真正为开发设置
错误报告(E\u ALL)
也是。如果您看到一个空白页,则表明某个地方有错误,并且您已禁用在浏览器中显示错误。您可以按照AlexZ的建议使用
display_errors
,也可以查看服务器日志。日志的位置取决于您的系统,但是对于Linux来说,一个开始查找日志的好地方是
/var/log/apache2/error.log
。我的理解是,操作$HTML对象的行前面的“#”正在注释代码,因此需要删除它们。我还将检查对象创建是否成功,方法是检查$HTML是否不为NULL。谢谢各位。问题很简单,我在同一个目录中没有simple_html_dom.php。打开错误检查指出了这一点。或者使用
require
而不是
include
,因为它将检查文件是否存在并且可读,如果不存在,则会出现致命错误。