Задать вопрос
@vladimirir

Как оптимально подтягивать og:img для списка статей с разных сайтов?

Возник запрос создать новостной раздел "О нас", в котором компания упоминается в разных новостных статьях. Для каждой статьи хотят, чтобы автоматически подгружалась картинка сниппета (как в телеграмме, вк, и т.д.). Сейчас использую метод, приведённый ниже, для запроса картинки, но получается довольно тяжеловесно при запросе выборки статей (каждая это элемент ИБ) по каждой ещё отдельный запрос делать. Думаю, сохранять картинку сниппета при создании элемента. Может, есть ещё какие-то варианты?

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;
    }
  • Вопрос задан
  • 133 просмотра
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
Думаю, сохранять картинку сниппета при создании элемента

Разумное решение. Или можно ставить задание в очередь. Ещё можно в фоне периодически актуализировать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы