复制代码 代码如下:
function getPageContent($url) {
//$url='http://www.ttphp.com;
$pageinfo = array();
$pageinfo[content_type] = '';
$pageinfo[charset] = '';
$pageinfo[title] = '';
$pageinfo[description] = '';
$pageinfo[keywords] = '';
$pageinfo[body] = '';
$pageinfo['httpcode'] = 200;
$pageinfo['all'] = '';
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($ch, CURLOPT_TIMEOUT, 8);
curl_setopt($ch, CURLOPT_FILETIME, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
//curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_URL,$url);
$curl_start = microtime(true);
$store = curl_exec ($ch);
$curl_time = microtime(true) - $curl_start;
if( curl_error($ch) ) {
$pageinfo['httpcode'] = 505; //gate way error
echo 'Curl error: ' . curl_error($ch) ."/n";
return $pageinfo;
}
//print_r(curl_getinfo($ch));
$pageinfo['httpcode'] = curl_getinfo($ch,CURLINFO_HTTP_CODE);
//echo curl_getinfo($ch,CURLINFO_CONTENT_TYPE)."/n";
$pageinfo[content_type] = curl_getinfo($ch,CURLINFO_CONTENT_TYPE);
if(intval($pageinfo['httpcode']) <> 200 or !preg_match('@text/html@',curl_getinfo($ch,CURLINFO_CONTENT_TYPE) ) ) {
//print_r(curl_getinfo($ch) );
//exit;
return $pageinfo;
}
preg_match('/charset=([^/s/n/r]+)/i',curl_getinfo($ch,CURLINFO_CONTENT_TYPE),$matches); //从header 里取charset
if( trim($matches[1]) ) {
$pageinfo[charset] = trim($matches[1]);
}
//echo $pageinfo[charset];
//exit;
curl_close ($ch);
//echo $store;
//remove javascript
$store = preg_replace("/<mce:script.*><!--
(.*)<//script>/smUi",'',$store);
//remove link
$store = preg_replace("/<link/s+[^>]+>/smUi",'',$store);
//remove <!-- -->
$store = preg_replace("/<!--.*-->/smUi",'',$store);
//remove <style </<style>
$store = preg_replace("/<style.*>(.*)<//style>/smUi",'',$store);
//remove 中文空格
$store = preg_replace("/ /",'',$store);
//remove 标点符号
//$store = preg_replace("/[/~`!@#$%^&*()_/-+={}|/[/]//;':"/</>/?/,/.//]/",'',$store);
//preg_match("/<head.*>(.*)<//head>/smUi",$store, $matches);
//$head = $matches[1];
//echo $head. "/n";
//charset
if($pageinfo[charset] == '' ) {
preg_match('@<meta.+charset=([/w/-]+)[^>]*>@i',$store,$matches);
$pageinfo[charset] = trim($matches[1]);
}
//desctiption
preg_match('@<meta/s+name=/"*description/"*/s+content/s*=/s*([^/>]+)/*>@i',$store,$matches);
//print_r($matches);
$desc = trim($matches[1]);
$pageinfo[description] = str_replace("/"", '',$desc);
preg_match('@<meta/s+name=/"*keywords/"*/s+content/s*=/s*([^/>]+)/*>@i',$store,$matches);
//print_r($matches);
$keywords = trim($matches[1]);
$pageinfo[keywords] = str_replace("/"", '',$keywords);
preg_match("/<title>(.*)<//title>/smUi",$store, $matches);
$pageinfo[title] = trim($matches[1]);
preg_match("/<body.*>(.*)<//body>/smUi",$store, $matches);
$pageinfo[body] = addslashes( replaceHtmlAndJs($matches[1]) ) ;
$pageinfo['all'] = addslashes( replaceHtmlAndJs($store) ) ;
//echo "charset = " . $pageinfo[charset] . "/n";
//print_r($pageinfo);
//exit;
return $pageinfo;
}
/**
* 去掉所有的HTML标记和JavaScript标记
*/
function replaceHtmlAndJs($document)
{
$document = trim($document);
if (strlen($document) <= 0)
{
return $document;
}
$search = array (
"'<script[^>]*?>.*?
// --></mce:script>'si", // 去掉 javascript
"'<[///!]*?[^<>]*?>'si", // 去掉 HTML 标记
"'[/r/n/s+]'", // 去掉空白字符
"'&(/w+);'i" // 替换 HTML 实体
); // 作为 PHP 代码运行
$replace = array ( "", "", "", "" );
return @preg_replace ($search, $replace, $document);
}
function getPageContent($url) {
//$url='http://www.ttphp.com;
$pageinfo = array();
$pageinfo[content_type] = '';
$pageinfo[charset] = '';
$pageinfo[title] = '';
$pageinfo[description] = '';
$pageinfo[keywords] = '';
$pageinfo[body] = '';
$pageinfo['httpcode'] = 200;
$pageinfo['all'] = '';
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($ch, CURLOPT_TIMEOUT, 8);
curl_setopt($ch, CURLOPT_FILETIME, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
//curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_URL,$url);
$curl_start = microtime(true);
$store = curl_exec ($ch);
$curl_time = microtime(true) - $curl_start;
if( curl_error($ch) ) {
$pageinfo['httpcode'] = 505; //gate way error
echo 'Curl error: ' . curl_error($ch) ."/n";
return $pageinfo;
}
//print_r(curl_getinfo($ch));
$pageinfo['httpcode'] = curl_getinfo($ch,CURLINFO_HTTP_CODE);
//echo curl_getinfo($ch,CURLINFO_CONTENT_TYPE)."/n";
$pageinfo[content_type] = curl_getinfo($ch,CURLINFO_CONTENT_TYPE);
if(intval($pageinfo['httpcode']) <> 200 or !preg_match('@text/html@',curl_getinfo($ch,CURLINFO_CONTENT_TYPE) ) ) {
//print_r(curl_getinfo($ch) );
//exit;
return $pageinfo;
}
preg_match('/charset=([^/s/n/r]+)/i',curl_getinfo($ch,CURLINFO_CONTENT_TYPE),$matches); //从header 里取charset
if( trim($matches[1]) ) {
$pageinfo[charset] = trim($matches[1]);
}
//echo $pageinfo[charset];
//exit;
curl_close ($ch);
//echo $store;
//remove javascript
$store = preg_replace("/<mce:script.*><!--
(.*)<//script>/smUi",'',$store);
//remove link
$store = preg_replace("/<link/s+[^>]+>/smUi",'',$store);
//remove <!-- -->
$store = preg_replace("/<!--.*-->/smUi",'',$store);
//remove <style </<style>
$store = preg_replace("/<style.*>(.*)<//style>/smUi",'',$store);
//remove 中文空格
$store = preg_replace("/ /",'',$store);
//remove 标点符号
//$store = preg_replace("/[/~`!@#$%^&*()_/-+={}|/[/]//;':"/</>/?/,/.//]/",'',$store);
//preg_match("/<head.*>(.*)<//head>/smUi",$store, $matches);
//$head = $matches[1];
//echo $head. "/n";
//charset
if($pageinfo[charset] == '' ) {
preg_match('@<meta.+charset=([/w/-]+)[^>]*>@i',$store,$matches);
$pageinfo[charset] = trim($matches[1]);
}
//desctiption
preg_match('@<meta/s+name=/"*description/"*/s+content/s*=/s*([^/>]+)/*>@i',$store,$matches);
//print_r($matches);
$desc = trim($matches[1]);
$pageinfo[description] = str_replace("/"", '',$desc);
preg_match('@<meta/s+name=/"*keywords/"*/s+content/s*=/s*([^/>]+)/*>@i',$store,$matches);
//print_r($matches);
$keywords = trim($matches[1]);
$pageinfo[keywords] = str_replace("/"", '',$keywords);
preg_match("/<title>(.*)<//title>/smUi",$store, $matches);
$pageinfo[title] = trim($matches[1]);
preg_match("/<body.*>(.*)<//body>/smUi",$store, $matches);
$pageinfo[body] = addslashes( replaceHtmlAndJs($matches[1]) ) ;
$pageinfo['all'] = addslashes( replaceHtmlAndJs($store) ) ;
//echo "charset = " . $pageinfo[charset] . "/n";
//print_r($pageinfo);
//exit;
return $pageinfo;
}
/**
* 去掉所有的HTML标记和JavaScript标记
*/
function replaceHtmlAndJs($document)
{
$document = trim($document);
if (strlen($document) <= 0)
{
return $document;
}
$search = array (
"'<script[^>]*?>.*?
// --></mce:script>'si", // 去掉 javascript
"'<[///!]*?[^<>]*?>'si", // 去掉 HTML 标记
"'[/r/n/s+]'", // 去掉空白字符
"'&(/w+);'i" // 替换 HTML 实体
); // 作为 PHP 代码运行
$replace = array ( "", "", "", "" );
return @preg_replace ($search, $replace, $document);
}
使用例子
复制代码 代码如下:
$a = getPageContent(www.ttphp.com);
print_r($a);
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
更新日志
2024年11月18日
2024年11月18日
- 好薇2024《兵哥哥》1:124K黄金母盘[WAV+CUE]
- 胡歌.2006-珍惜(EP)【步升大风】【FLAC分轨】
- 洪荣宏.2014-拼乎自己看【华特】【WAV+CUE】
- 伊能静.1999-从脆弱到勇敢1987-1996精选2CD【华纳】【WAV+CUE】
- 刘亮鹭《汽车DJ玩主》[WAV+CUE][1.1G]
- 张杰《最接近天堂的地方》天娱传媒[WAV+CUE][1.1G]
- 群星《2022年度发烧天碟》无损黑胶碟 2CD[WAV+CUE][1.4G]
- 罗文1983-罗文甄妮-射雕英雄传(纯银AMCD)[WAV+CUE]
- 群星《亚洲故事香港纯弦》雨果UPMAGCD2024[低速原抓WAV+CUE]
- 群星《经典咏流传》限量1:1母盘直刻[低速原抓WAV+CUE]
- 庾澄庆1993《老实情歌》福茂唱片[WAV+CUE][1G]
- 许巍《在别处》美卡首版[WAV+CUE][1G]
- 林子祥《单手拍掌》华纳香港版[WAV+CUE][1G]
- 郑秀文.1997-我们的主题曲【华纳】【WAV+CUE】
- 群星.2001-生命因爱动听电影原创音乐AVCD【MEDIA】【WAV+CUE】