Преобразование ссылки на статус твитера в html код статуса

 
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 2596
Есть у кого нибудь готовый класс или ссылка для преобразования

https://twitter.com/philipmould/status/927542755500359680

в

Код PHP:
  1. <blockquote class="twitter-tweet" data-lang="ru"><p lang="en" dir="ltr">A remarkable Jacobean re-emergence after 200 years of yellowing varnish 1/2 <a href="https://t.co/yBGNGDcNd7">pic.twitter.com/yBGNGDcNd7</a></p>&mdash; Philip Mould (@philipmould) <a href="https://twitter.com/philipmould/status/927542755500359680?ref_src=twsrc%5Etfw">6 ноября 2017 г.</a></blockquote>
  2. <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
  3.  
Не могу найти разобраться в этом вопросе по их api пока тоже. Искать твиты - да, а спарсить один единственный твит по ссылке - нет. Наверно можно через curl file_get_contents что то предпринять, но хотелось бы на основе api что то найти.
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 2596
Оказалось всё можно решить самым простым образом.
Взяв за основу образец embed кода выбросив оттуда лишнее и устроив замену по регулярному выражению. Вроде пока работает


Вставил в пост ссылку вижу твит

Преобразование ссылки на статус твитера в html код статуса

кому надо, примерно так это выглядит:

Код PHP:
  1.  
  2. $pattern = '%https://twitter.com/([a-zA-Z0-9\-_]+)/status/([a-zA-Z0-9\-_]+)%';
  3. $replacement = '<blockquote class="twitter-tweet" data-lang="ru"><a href="https://twitter.com/$1/status/$2?ref_src=twsrc%5Etfw"></a></blockquote>
  4. <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>';
  5.  
  6. $content = preg_replace($pattern, $replacement,$content);
Самое стрёмное что именно это решение напрашивалось у меня изначально, но думал не будет работать так просто.
Обращение к коллективному разуму опять помогло)
Редактировалось: 1 раз (Последний: 7 ноября 2017 в 20:21)
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 2596
Код PHP:
  1. $pattern = '%https://twitter.com/([a-zA-Z0-9\-_]+)/status/([a-zA-Z0-9\-_]+)%';
  2. $replacement = '<blockquote class="twitter-tweet" data-lang="ru"><a href="https://twitter.com/$1/status/$2?ref_src=twsrc%5Etfw"><i style="color:#00acee;" class="fa fa-twitter fa-spin" aria-hidden="true"></i> загрузка содержимого твита</a></blockquote>
  3. <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>';
  4.  
  5. $content = preg_replace($pattern, $replacement,$content);
если так, то до тех пор пока подгрузится сам твит на его месте будет выводиться уведомление что сейчас на этом месте что то будет и будет крутиться птичка логотип твиттера.
Птичка вылетит только у тех кто использует font awesome

В стандартном embed коде в этом месте до загрузки полного твита выводится текстовый фрагмент твита
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.