ホームページ >バックエンド開発 >PHPチュートリアル >PHP はリモート Web サイトのタイトルと紹介を取得します

PHP はリモート Web サイトのタイトルと紹介を取得します

WBOY
WBOYオリジナル
2016-06-23 14:27:48898ブラウズ

この投稿は mingniu66 によって最終編集されました: 2013-11-20 16:32:18

header("Content-Type:text/html;charset=utf-8");
$url = ' http://cm100.net/';

//リモート Web ページのエンコーディングを取得します
function _charset($url){
$text = file_get_contents($url);
$mode = '/charset=(. *)"/ iU';
preg_match($mode,$text,$result);
return $result[1];
}
$charset = _charset($url);// リモート Web ページのエンコーディングを取得します
//上記は公開用です


//1: リモート Web ページのタイトル、$url アドレスを取得します。$charset はエンコーディングの決定に使用されます
function _title($url,$charset){
$ text = file_get_contents($url);

//gb2312 の場合 エンコードで文字化けを処理する
if ($charset == 'gb2312'){
$text = iconv('gb2312','utf-8',$text );
}
$mode = '/(. *)/iU';
$result[1]; }
echo 'Website title:'.$title = _title($url, $charset); //リモート Web ページのタイトルを取得します



//2: リモート Web ページの紹介を取得します
function _description ($url,$charset){
$text = file_get_contents($url);

//gb2312 エンコード文字化け処理
if ($charset == 'gb2312'){
$text = iconv('gb2312','utf) -8',$text);
}

$mode = '//iU'; mode,$text,$result);
return $result[1];

}
echo ' ウェブサイトの紹介: '.$description = _description($url,$charset); // リモート Web ページの紹介を取得します。
?>

私は PHP の初心者で、リモート Web サイトのタイトルと紹介を取得したいと思っています。数日間オンラインで検索して作成しましたが、結果は期待どおりの結果を得ることができませんでした。コードが少し遅い気がします。もっと良い方法があるかどうかはわかりません。


ディスカッションに返信してください (解決策)
関数を合成できます。

ページを何回フェッチする必要がありますか?

http://blog.csdn.net/jdgdf566/article/details/13632111

すべての関数で file_get_contents を使用していることがわかります。もちろん遅いです。

コンテンツを取得する file_get_contents の関数は 1 つだけである必要があり、結果を照合するためにコンテンツを各関数に渡します。

皆さん、ご回答ありがとうございます。4 人が同じ回答をしてくれました。確かに、file_get_contents は何度も調整されています。私はそれを変更するのが難しいかもしれません。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。