Возник запрос создать новостной раздел "О нас", в котором компания упоминается в разных новостных статьях. Для каждой статьи хотят, чтобы автоматически подгружалась картинка сниппета (как в телеграмме, вк, и т.д.). Сейчас использую метод, приведённый ниже, для запроса картинки, но получается довольно тяжеловесно при запросе выборки статей (каждая это элемент ИБ) по каждой ещё отдельный запрос делать. Думаю, сохранять картинку сниппета при создании элемента. Может, есть ещё какие-то варианты?
function getOgImage($url)
{
$image = '';
libxml_use_internal_errors(true);
$c = file_get_contents($url);
if (!$c) {
return $image;
}
$d = new DomDocument();
$d->loadHTML($c);
$xp = new domxpath($d);
foreach ($xp->query("//meta[@property='og:image']") as $el) {
$image = $el->getAttribute("content");
}
return $image;
}