Понадобилось мне тут для одного проекта получать заголовок (title) и описание (description) удаленной страницы с помощью php. То есть на всходе у нас есть только адрес url страницы, а на выходе — его заголовок и описание. Как всегда, чтоб не изобретать велосипед вначале решил погуглить на предмет существующих решений. Решений оказалось много, но как обычно не все продуманы до конца. Дело в том, что сайт может быть в разной кодировке, а мне нужно было его вывести в utf-8. В общем было написано 2 функции:
1. Получение заголовка
function action_getTitle($url){
$page = @file_get_contents($url);
$title = preg_match("|<title>([^<]+)</title>|is", $page, $matches) ? $matches[1] : '';
if (mb_check_encoding($title, 'Windows-1251') && !mb_check_encoding($title, 'UTF-8')){
$title = iconv("CP1251//IGNORE", "UTF-8", $title);
}
$result['title'] = $title;
echo json_encode($result);
exit;
}
Функция отдает результат в формате json, так как мне это нужно для работы с ajax. Кому не нужно — переделайте под себя.
2. Функция получения описания
function action_getDesc($url ){
$page = @file_get_contents($url);
$desc = preg_match("|<meta name=\"description\" content=\"([^<]+)\" />|is", $page, $matches) ? $matches[1] : '';
if (mb_check_encoding($desc, 'Windows-1251') && !mb_check_encoding($desc, 'UTF-8')){
$title = iconv("CP1251//IGNORE", "UTF-8", $desc);
}
$result['desc'] = $desc;
echo json_encode($result);
exit;
}
Так же возвращает результат в формате json, работает при условии, что на странице прописан метатег description.
Вот такие 2 простенькие функции на php, с помощью которых можно получить заголовок и описание сайта.