Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP解析HTML页面并输出特定div_Php_Html_Parsing - Fatal编程技术网

PHP解析HTML页面并输出特定div

PHP解析HTML页面并输出特定div,php,html,parsing,Php,Html,Parsing,因此,出于安全原因,我一直在尝试将网站的一部分嵌入到我的网站中,我无法透露我试图嵌入的网站,因此出于本示例的目的,我将使用bbc.co.uk 以下是php/html代码: <!DOCTYPE html> <html lang="en"> <head> <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"><

因此,出于安全原因,我一直在尝试将网站的一部分嵌入到我的网站中,我无法透露我试图嵌入的网站,因此出于本示例的目的,我将使用bbc.co.uk

以下是php/html代码:

<!DOCTYPE html>
<html lang="en">
<head>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

</head>
<body>
<?php
$page = file_get_contents('http://www.bbc.co.uk/');
$doc = new DOMDocument();
$doc->loadHTML($page);
$divs = $doc->getElementsByTagName('div');
foreach($divs as $div) {
    // Loop through the DIVs looking for one withan id of "content"
    // Then echo out its contents (pardon the pun)
    if ($div->getAttribute('id') === 'orb-footer') {
         echo $div->nodeValue;
    }
}
?>  
</body>

<footer>

</footer>
</html>

然而,当我加载页面时,我会看到一个显示php代码的页面。谁能告诉我哪里出了问题

谢谢

这是一个解决此类PHP问题的通用指南,对于这个答案,它绝不是一个直接或具体的“插入式”解决方案

加载页面后,在浏览器上检查加载的源文件

如果正在加载的浏览器上的页面为空,请尝试在Chrome上使用Ctrl+U查看源代码,或者右键单击页面上的任意位置并选择查看源代码的选项

源是空的吗?那么这一定意味着错误来自PHP/server

源是否已完全/部分加载?这意味着错误必须存在于您编写的PHP代码中。尝试执行
$doc->loadHtml(htmlentities($page))

使用诸如XDebug之类的PHP调试器


现在很容易使用PHP调试器,因为它可以轻松地与大多数PHPIDE集成。请尝试逐行检查代码,并检查问题所在。

您的代码对我来说运行得非常好。你用的是哪个版本的PHP?嗨,真奇怪,我只剩下一个空白页。使用PHP版本5.5.9。@Mohdasimuhail更正:我留下了一个显示PHP代码的页面。“我留下了一个显示PHP代码的页面”,这意味着您的服务器没有呈现PHP代码。文件是否以.PHP结尾?如果您尝试使用php运行html网页,它将不起作用。感谢您的帮助,我们将尝试并返回给您。使用
$doc->loadHtml(htmlentities($page))
不起作用。php代码不能有错误,因为@mohdasimuhai尝试了它,它对他有效。服务器一定有问题。你是如何运行PHP服务器的?XAMPP/LAMP/WAMP或其他包装?直接从php CLI?我必须向管理员询问这些信息,因为我没有设置此服务器。