【问题标题】:PHP to Parse a HTML page and output a certain divPHP解析HTML页面并输出某个div
【发布时间】:2017-02-13 01:53:01
【问题描述】:

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

以下是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?
  • 嗨,这很奇怪,我只剩下一个空白页。使用 PHP 5.5.9 版。
  • @MohdAsimSuhail 更正:我得到一个显示 php 代码的页面。
  • '我得到一个显示 php 代码的页面',这意味着您的服务器没有呈现 PHP 代码。
  • 文件是否以.php结尾?如果你尝试用 php 运行一个 html 网页,它是行不通的。

标签: php html parsing


【解决方案1】:

这是解决此类 PHP 问题的一般指南,绝不是此答案的直接或特定“插入式”解决方案

加载页面后在浏览器上检查加载的源代码

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

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

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

使用 PHP 调试器,例如 XDebug

现在使用 PHP 调试器很容易,因为它可以很容易地与大多数 PHP IDE 集成。尝试逐行执行代码并检查问题出在哪里。

【讨论】:

  • 感谢您,我们会试一试并回复您。
  • 使用$doc-&gt;loadHtml( htmlentities($page) ) 无效。
  • php 代码不能有错误,因为@MohdAsimSuhai 试过了,它对他有用。一定是服务器有问题。
  • 你是如何运行 PHP 服务器的? XAMPP/LAMP/WAMP 还是其他包?直接来自 php CLI?
  • 我将不得不向我的管理员询问该信息,因为我没有设置此服务器。
猜你喜欢
  • 1970-01-01
  • 2011-07-30
  • 2014-01-08
  • 1970-01-01
  • 2012-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-12
相关资源
最近更新 更多