-2
<?php echo file_get_contents ("http://www.google.com/"); ?>

但我只想获取 url 中标签的内容...怎么做...?我需要在标签之间回显内容....而不是整个页面


利用System.IO.File.Exists(string path)

4

3 回答 3

1

请参阅此PHP 手册cURL,它们也会对您有所帮助。

您也可以使用用户定义函数而不是 file_get_contents():

function get_content($URL){
      $ch = curl_init();
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
      curl_setopt($ch, CURLOPT_URL, $URL);
      $data = curl_exec($ch);
      curl_close($ch);
      return $data;
  }


 echo get_content('http://example.com');

希望,它会解决你的问题。

于 2013-04-11T11:22:42.297 回答
1

我认为您想从文件中的特定 html 标记中提取内容。为此,您可以使用正则表达式。但是,请查看以下链接以解析 HTML 文档文件:

http://php.net/manual/en/class.domdocument.php

于 2013-04-11T11:29:33.880 回答
0
libxml_use_internal_errors(true);

$url = "http://stackoverflow.com/questions/15947331/php-echo-file-get-contents-how-to-get-content-in-a-certain-tag";

$dom = new DomDocument();
$dom->loadHTML(file_get_contents($url));

foreach($dom->getElementsByTagName('a') as $element) {
    echo $element->nodeValue.'<br/>';
} 

exit;

更多信息:http ://www.php.net/manual/en/class.domdocument.php

在那里您可以看到如何通过idor选择元素class,如何获取元素的属性值等。

注意:最好通过cURL而不是get_file_contents. 例如:

function file_get_contents_curl($url) {
    $ch = curl_init();
    
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_URL, $url);
    
    $data = curl_exec($ch);
    curl_close($ch);
    
    return $data;
}

另请注意,在某些网站上,您必须指定诸如CURLOPT_USERAGENT等之类的选项,否则可能不会返回内容。

以下是其他选项:http ://www.php.net/manual/en/function.curl-setopt.php

于 2013-04-11T11:37:58.923 回答