Опять YouTube - санкции.

Заметил такую штуку — при вставке кода одни ролики работают на сайте, другие — нет. Не работают те ролики с YouTube, в коде которых есть символ решетки "#"

Например, такая конструкция не работает
<video>http://www.youtube.com/watch?v=hCKg1lURSvg#t=29</video>


Помогите вылечить, чтобы ролики вставлялись на сайт универсально.
  • avatar
  • 2
  • 0
    • 0
    • 0
    • 0

10 комментариев

avatar
Санкции — модное нынче слово? Поправьте регулярку и всё: github.com/livestreet/livestreet/blob/1.0.3/engine/modules/text/Text.class.php#L123
avatar
Просто заметил, что ролики из России работают, забугорные — не все.
avatar
$sText = preg_replace('/<video>http:\/\/(?:www\.|)youtube\.com\/watch\?v=([a-zA-Z0-9_\-]+)(&.+#)?<\/video>/Ui', '<iframe width="560" height="315" src="http://www.youtube.com/embed/$1" frameborder="0" allowfullscreen></iframe>', $sText);
avatar
Не работает конструкция. В коде виде еще знак "=" есть, как его правильно прикрутить?
avatar
$sText = preg_replace('/<video>http:\/\/(?:www\.|)youtube\.com\/watch\?v=([a-zA-Z0-9_\-]+)(&.+#=0-9)?<\/video>/Ui', '<iframe width="560" height="315" src="http://www.youtube.com/embed/$1" frameborder="0" allowfullscreen></iframe>', $sText);
avatar
Все так же — вот пример Без решетки и знака равенства — работает видео, с ними — нет. Мне кажется тут решетка даже больше влияет.
avatar
Ну и что, нет решения?
avatar
Я должен отвечать на вопросы пользователей каждый день? Попробуйте вот такое решение:
$sText = preg_replace('/<video>http:\/\/(?:www\.|)youtube\.com\/watch\?v=([a-zA-Z0-9_\-]+)(&.+#=0-9)*<\/video>/Ui', '<iframe width="560" height="315" src="http://www.youtube.com/embed/$1" frameborder="0" allowfullscreen></iframe>', $sText);
avatar
спасибо большое, заработало, но только вставкой полного кода, то есть
<iframe width="560" height="315" src="//www.youtube.com/embed/hCKg1lURSvg" frameborder="0" allowfullscreen></iframe>


А короткий



с тегом видео так и не работает.
avatar
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.