PHP解析HTML页面并输出特定div
因此,出于安全原因,我一直在尝试将网站的一部分嵌入到我的网站中,我无法透露我试图嵌入的网站,因此出于本示例的目的,我将使用bbc.co.uk 以下是php/html代码: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"><
<!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?我必须向管理员询问这些信息,因为我没有设置此服务器。