<?php echo file_get_contents ("http://www.google.com/"); ?>
但我只想获取 url 中标签的内容...怎么做...?我需要在标签之间回显内容....而不是整个页面
您也可以使用用户定义函数而不是 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');
希望,它会解决你的问题。
我认为您想从文件中的特定 html 标记中提取内容。为此,您可以使用正则表达式。但是,请查看以下链接以解析 HTML 文档文件:
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
or选择元素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