2010-06-26 95 views
1

我想知道是否有一种方法可以使用PHP(或任何其他服务器端或甚至客户端[如果可能]语言)从不同网站获取某些信息(不是包含'nav.php'的本地文件。使用PHP从其他网站检索信息

我的意思是说...我在www.blog.com上有一个博客,我有另一个网站www.mysite.com

有没有办法从www.blog.com收集所有的h2链接,并将它们放在www.mysite.com的div中?

另外,有没有一种方法可以获取整个信息insi从blog.com中选择一个DIV(带有课程ID)并将其插入mysite.com?

感谢, 阿米特

回答

0

时退房PHP Simple HTML DOM library

能那么容易,因为:

// Create DOM from URL or file 
$html = file_get_html('http://www.otherwebsite.com/'); 

// Find all images 
foreach($html->find('h2') as $element) 
     echo $element->src; 
0

这可以通过打开远程网站作为一个文件,然后取HTML来完成并使用DOM解析器来操纵它。

$site_html = file_get_contents('http://www.example.com/'); 
$document = new DOMDocument(); 
$document->loadHTML($site_html); 
$all_of_the_h2_tags = $document->getElementsByTagName('h2'); 

读什么从这里做的,比如抢夺其他标记,创建新的HTML出位和DOM件的,并显示在自己的网站更多PHP's DOM functions

+0

嗯,这是我真正想要做的,也许你们可以帮助我。 我将在我的网站上有一个wordpress博客,地址是www.mysite.com/blog [mysite实际上不是我的域名]。 在www.mysite.com上,我想能够显示我最近的帖子。我知道在WordPress中有一个PHP函数来显示最近的帖子在博客本身,但有没有办法我可以抓住最近的帖子,并显示它们不在博客即www.mysite.com如果mysite.com不运行wordpress,只有mysite.com/blog/index.php是? – Amit 2010-06-27 05:17:24

+0

那么,如果你想抓住你最近的帖子,不会使用RSS源工作吗? – Charles 2010-06-27 15:51:01

+0

我不完全确定RSS源如何工作。据我所知,RSS提要是XML文档,其中包含部分分隔的帖子列表。在这种情况下,是的,我相信RSS源可能可以完成这项工作。但就像我说的,我不知道他们是如何工作的。你能否详细说明一下? – Amit 2010-06-27 19:14:19

0

您的第一步是使用CURL在其他站点上执行请求,并从您想要访问的页面中取消HTML。然后解析HTML以找到您要查找的所有内容。人们可以使用一堆正则表达式,并且可以完成这项工作,但Stackoverflow的工作人员可能会对你皱眉。您也可以使用生成的HTML并使用domDocument object, and loadHTML解析HTML并加载您想要的内容。另外,如果你控制两个站点,你可以在第一个站点(www.blog.com)上设置一个特殊的页面,用你需要的信息,正确的HTML格式或者直接输出的XML格式您可以通过www.mysite.com更轻松地进行操作。

+0

请阅读我留给查尔斯的评论。如果我可以从mysite.com/blog(在Wordpress下运行)获取ID为“recentPosts”的DIV的全部内容并在mysite.com中输入该信息(不在Wordpress下运行),那将是理想的。 – Amit 2010-06-27 05:25:13

1

首先,如果您想从博客中检索内容,请检查博客生成器(即Blogger,WordPress)是否没有API,因此您不必重新发明轮子。通常,良好的AP具有良好的文档(这意味着所有API中可能有5%是良好的API),并且这些文档应该包含PHP,JavaScript,Java等顶级语言的代码示例......如果它再次是从博客检索内容,应该有大量的框架在这​​里为你