titleとmetaの抽出
指定したURLからtitleとmeta(author、keywords、descriptionなど)を抽出
PHP
$url = 'http://php.o0o0.jp/';
// meta
$tags = get_meta_tags($url);
// title
$src = file_get_contents($url, NULL, NULL, 0, 1024);
preg_match('/<title>(.*)<\/title>/i', $src, $matches);
$tags['title'] = $matches[1];
file_get_contentsではソース全体を取得するのではなく、titleが記述されているあたりまで取得できればいいので0~1024までを指定。
$tagsの内容
Array
(
[description] => 私的雑録 LAPP環境でPHPをよく書いている人の備忘録、PHPやそれに関連するSmarty、jQuery、PostgreSQLのチップスやリファレンス
[title] => 私的雑録 PHPをよく書いている人の備忘録
)
一度に複数を抽出する
PHP
$urls = array(
'http://php.o0o0.jp/',
'http://php.o0o0.jp/information',
'http://php.o0o0.jp/install',
'http://php.o0o0.jp/tips',
'http://php.o0o0.jp/reference'
);
foreach($urls as $urlsKey => $urlsVal) {
// meta
$tags[$urlsKey] = get_meta_tags($urlsVal);
// title
$src = file_get_contents($urlsVal, NULL, NULL, 0, 1024);
preg_match('/<title>(.*)<\/title>/i', $src, $matches);
$tags[$urlsKey]['title'] = $matches[1];
// url
$tags[$urlsKey]['url'] = $urlsVal;
}