ホームページ > バックエンド開発 > PHPチュートリアル > PHP Webページのタイトルとコンテンツを取得する関数(HTMLタグを除く)_PHPチュートリアル

PHP Webページのタイトルとコンテンツを取得する関数(HTMLタグを除く)_PHPチュートリアル

WBOY
リリース: 2016-07-13 10:39:57
オリジナル
939 人が閲覧しました

コードをコピーします コードは次のとおりです:

function getPageContent($url) {

//$url='http://www.ttphp.com;  

$pageinfo = array();  
$pageinfo[content_type] = '';  
$pageinfo[charset] = '';  
$pageinfo[title] = '';  
$pageinfo[説明] = '';  
$pageinfo[キーワード] = '';  
$pageinfo[body] = '';  
$pageinfo['httpcode'] = 200;  
$pageinfo['all'] = '';   

$ch =curl_init();  
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (互換性; 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;  //ゲートウェイエラー
echo 'カールエラー: ' . curl_error($ch) ."/n";  
$pageinfo を返します。  
}

//print_r(curl_getinfo($ch));  
$pageinfo['httpcode'] =curl_getinfo($ch,CURLINFO_HTTP_CODE);  
//echocurl_getinfo($ch,CURLINFO_CONTENT_TYPE)."/n";  
$pageinfo[content_type] =curl_getinfo($ch,CURLINFO_CONTENT_TYPE);  
if(intval($pageinfo['httpcode']) <> 200 または !preg_match('@text/html@',curl_getinfo($ch,CURLINFO_CONTENT_TYPE) ) ) {
//print_r(curl_getinfo($ch) );  
//終了;  
$pageinfo を返します。  
}
preg_match('/charset=([^/s/n/r]+)/i',curl_getinfo($ch,CURLINFO_CONTENT_TYPE),$matches); //从header 里取charset
if(rim($matches[1]) ) {
$pageinfo[charset] = trim($matches[1]);  
}  
//echo $pageinfo[charset];  
//終了;  
curl_close ($ch);  
// $store をエコー;  


//javascript を削除
$store = preg_replace("/ を削除します。  
$store = preg_replace("//smUi",'',$store);  
//