原生态php获取网页标签里面的内容,不用插件!不用正则,直接一把抠出来!
error_reporting(E_ALL);
$out=_getUrl('http://www.gdczepb.gov.cn/detail/23328');
$out=preg_replace(array('/<head>([\s\S]+?)<\/head>/i','/<p>/i'),array('<head><meta http-equiv="Content-Type" content="text/html;charset=utf-8"></head>','<br><p>'),$out);
// echo $out;
$dom = new DOMDocument();
@$dom->loadHTML($out);
$xpath = new DOMXPath($dom);
$url=$xpath->query("//div[@class='contents']");
$str=$url->item(0)->nodeValue;
echo '<pre>';
print_r($str);
// print_r(htmlspecialchars($str));
echo '</pre>';
//以下是通过curl传输数组参数获取html内容!
function _getUrl($url){
$curl=curl_init();
$options=array(
CURLOPT_URL=>$url,
CURLOPT_RETURNTRANSFER =>1,
CURLOPT_USERAGENT=>'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36',
CURLOPT_CONNECTTIMEOUT=>60
);
curl_setopt_array($curl,$options);
$out=curl_exec($curl);
curl_close($curl);
return $out;
}
这里面遇到个大问题,字符集编码错乱,因为原页面没有设置字符编码集,但是loadHtml的时候默认是utf-8编码,但是读取的内容里面一定要在title前面申明字符集,如果不是utf-8需要转换。这里不细说,已经有人讲得很好了,我直接把链接放上来http://www.fwolf.com/blog/post/314