使用php从另一个页面获取内容?

时间:2011-12-18 13:35:35

标签: php html

我不确定这是否可行。 我想要一个php脚本在执行时,它将转到一个页面(在不同的域上)并获取它的html内容并在html里面有链接,并且该脚本能够获得每个链接的href。

html代码:

<div id="somediv">
  <a href="http://yahoo.com" class="url">Yahoo</a>
  <a href="http://google.com" class="url">Google</a>
  <a href="http://facebook.com" class="url">Facebook</a>
</div>

输出代码(php将回显)将是
http://yahoo.com
http://google.com
http://facebook.com

我听说过php中的cURL可以做类似这样的事情但不完全像这样,我有点困惑,我希望有些人可以指导我。

感谢。

1 个答案:

答案 0 :(得分:2)

使用DOM和XPath:

<?php
$doc = new DOMDocument();
$doc->loadHTMLFile("http://www.example.com/"); // or you could load from a string using loadHTML();
$xpath = new DOMXpath($doc);
$elements = $xpath->query("//div[@id='somediv']//a");
foreach($elements as $elem){
    echo $elem->getAttribute('href');
}

BTW:你应该阅读DOM和XPath。