Php 获取具有静态ID的正在更改的DIV的内容
我试图让自己成为一个主页,仅供我个人使用,我想做的是显示来自不同网站的不同信息,这些信息每天变化几次。i、 e.新闻、天气等。我想让我最喜欢的信息随时可见,而不需要访问很多页面。由于许多网站没有在iframe中加载,这是我第一次尝试的,我想PHP可能会对我有所帮助 因此,我需要做的是获取DIV的内容,并使用PHP将其放在我的页面中。 源页面上的DIV是在服务器上生成的,但它始终具有相同的ID 例如:Php 获取具有静态ID的正在更改的DIV的内容,php,html,Php,Html,我试图让自己成为一个主页,仅供我个人使用,我想做的是显示来自不同网站的不同信息,这些信息每天变化几次。i、 e.新闻、天气等。我想让我最喜欢的信息随时可见,而不需要访问很多页面。由于许多网站没有在iframe中加载,这是我第一次尝试的,我想PHP可能会对我有所帮助 因此,我需要做的是获取DIV的内容,并使用PHP将其放在我的页面中。 源页面上的DIV是在服务器上生成的,但它始终具有相同的ID 例如: <div id="nowbox"> <a href="http://www.
<div id="nowbox">
<a href="http://www.seznam.cz/jsTitleExecute?id=91&h=19331020">
<img width="135" height="77" src="http://seznam.cz/favicons/title//009/91-JrAEVc.jpg" alt="" /></a>
<div class="cont"> <ul> <li>
<strong><a href="http://www.seznam.cz/jsTitleExecute?id=91&h=19331020">Sledujte dnes od 20.00 koncert Tata Bojs</a></strong>
<p>Nenechte si ujít tradiční benefiční koncert kapely Tata Bojs. Sledujte představení na Seznam.cz</p> </li> </ul>
</div>
</div>
并查看页面的所有内容,但我不知道如何剥离所有内容,只留下所需的DIV
我对PHP不是很有经验,所以我非常感谢您的帮助,越容易理解越好
编辑:
谢谢你的回答。基本上,我只是想把我作为示例发布的代码放到一个变量中,这样我就可以在页面的某个地方回显它。问题是,代码与网站的其他部分一样发生了更改,只有一些内容保持不变,即DIV ID。
绝对不是最优雅的解决方案(即使我知道,但由于该网站仅用于我的目的,它也不重要),但我成功地开始工作的一个解决方案是,我通过以下方式获得了整个页面:
$contents = file_get_contents("http://seznam.cz");
然后使用STRPOS加/减我可以手动计数的静态字符数,计算代码中特定唯一位置的字符数。然后我将字符串拆分为数组,并丢弃不需要在字符串开头获取代码开头的部分,然后在代码结束后使用相同的方法剪切字符串。我无法完全理解您想要实现什么以及为什么,但您可以先通过服务器和客户端来实现,客户端方式: 好的,您需要的是提取DOM的一部分,在客户端使用javascript+jQuery,您可以非常快速地实现这一点,只需调用
$.load(“/mypage\nowbox”)
函数即可
这也可以在服务器端使用php通过使用任何DOM操纵库来实现,可以是捆绑在()中的,也可以是更易于使用的libs(有点内存泄漏)
因此,您可以选择客户端和服务器两种实现方式,选择最适合您需要的方式
请注意,任何CSS规则都不能通过任何一种方法使用,因为CSS不会加载到dom中
祝你好运 如果您想在服务器端执行此操作,我建议您使用
$contents = file_get_contents("http://seznam.cz");
require('phpQuery/phpQuery.php');
$doc = phpQuery::newDocumentFileXHTML('http://seznam.cz');
$html = pq('#nowbox')->htmlOuter();