<?php echo file_get_contents ("http://www.google.com/"); ?>
但我只想在网址中获取标签的内容......怎么做......? 我需要回显标签之间的内容....而不是整个页面
答案 0 :(得分:1)
请参阅此PHP manual和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');
希望,它会解决您的问题。
答案 1 :(得分:1)
我认为你想从文件中的特定html标签中提取内容。为此,您可以使用正则表达式。但是,请查看以下链接以解析HTML文档文件:
答案 2 :(得分: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
在那里,您可以看到如何按id
或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