Разрабатываю ссылки аналогичные в социальных сетях. Получаю метаданные для этих ссылок.
Для примера использовал 2 крупных сайта. znak.com и ria.ru У обоих кодировка одинаковая: UTF-8
Но почему-то один ria.ru возвращает данные в UTF, а znak.com нет.
Код:
libxml_use_internal_errors(true);
$c = file_get_contents($matches[0]);
$d = new DomDocument();
$d->loadHTML($c);
$xp = new domxpath($d);
foreach ($xp->query("//meta[@property='og:title']") as $el) {
$og_title = htmlentities($el->getAttribute("content"), ENT_QUOTES);
}
foreach ($xp->query("//meta[@property='og:description']") as $el) {
$og_description = htmlentities($el->getAttribute("content"), ENT_QUOTES);
}
foreach ($xp->query("//meta[@property='og:image']") as $el) {
$og_image = htmlentities($el->getAttribute("content"), ENT_QUOTES);
}
Сделайте лучше запрос через curl вместо file_get_contents. И попробуйте применить эти строчки кода curl_setopt($ch, CURLOPT_ENCODING ,""); curl_setopt($ch, CURLOPT_HEADER, true);
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости