Вставка видео через ссылку (Готовое решение)

Поддержка видео для таких сайтов как:
  • youtube.com
  • vimeo.com
  • rutube.ru
  • coub.com
  • ok.ru
  • vk.com
  • dailymotion.com

Для: LS 1.0.3

В /engine/modules/text/Text.class.php

Меняем функцию public function VideoParser($sText)

На это:
public function VideoParser($sText) {
		
		// Размеры и атрибуты окна вставленного видео.
        $iWidth = 620;
        $iHeight = 360;
        $iAlign = "center";
        $sIframeAttr = 'frameborder="0" webkitAllowFullScreen mozallowfullscreen allowfullscreen="allowfullscreen"';
		
		/**
         * youtu.be fixed
         */
        $sText = preg_replace(
		    '/<video>http(?:s|):\/\/(?:www\.|m.|)youtu\.be\/([a-zA-Z0-9_\-]+)(&.+)?<\/video>/Ui',
            '<div align="'.$iAlign.'"><iframe src="//www.youtube.com/embed/$1" width="'.$iWidth.'" height="'.$iHeight.'" '.$sIframeAttr.'></iframe></div>', 
			$sText
		);
		/**
         * vimeo.com fixed
         */
        $sText = preg_replace(
		    '/<video>http(?:s|):\/\/(?:www\.|)vimeo\.com\/(\d+).*<\/video>/i',
            '<div align="'.$iAlign.'"><iframe src="//player.vimeo.com/video/$1" width="'.$iWidth.'" height="'.$iHeight.'" '.$sIframeAttr.'></iframe></div>',
            $sText
        );
		/**
         * rutube.ru fixed
         */
        $sText = preg_replace(
            '/<video>http(?:s|):\/\/(?:www\.|)rutube\.ru\/tracks\/(\d+)\.html.*<\/video>/Ui',
            '<div align="'.$iAlign.'"><iframe src="//rutube.ru/play/embed/$1" width="'.$iWidth.'" height="'.$iHeight.'" '.$sIframeAttr.'></iframe></div>',
            $sText
        );
        $sText = preg_replace(
            '/<video>http(?:s|):\/\/(?:www\.|)rutube\.ru\/video\/(\w+)\/?<\/video>/Ui',
            '<div align="'.$iAlign.'"><iframe src="//rutube.ru/play/embed/$1" width="'.$iWidth.'" height="'.$iHeight.'" '.$sIframeAttr.'></iframe></div>',
            $sText
        );
		/**
	    * coub.com fixed
	    */
	    $sText = preg_replace(
		    '/<video>http(?:s|):\/\/(?:www\.|)coub\.com\/view\/(\w+).*<\/video>/i', 
		    '<div align="'.$iAlign.'"><iframe src="//coub.com/embed/$1?muted=false&autostart=false&originalSize=false&hideTopBar=false&noSiteButtons=false&startWithHD=false" width="'.$iWidth.'" height="'.$iHeight.'" '.$sIframeAttr.'></iframe></div>', 
		$sText
		);
		/**
	    * ok.ru fixed
	    */
	    $sText = preg_replace(
		    '/<video>http(?:s|):\/\/(?:www\.|)ok\.ru\/video\/(\w+).*<\/video>/i', 
		    '<div align="'.$iAlign.'"><iframe src="//ok.ru/videoembed/$1" width="'.$iWidth.'" height="'.$iHeight.'" '.$sIframeAttr.'></iframe></div>', 
		$sText
		);
		/**
	    * vk.com HASH not working, embeded link only
	    */
		$sText = preg_replace(
		    '/<video>(https:\/\/(?:www\.|)vk\.com\/video_ext\.php.*)<\/video>/i', 
			'<div align="'.$iAlign.'"><iframe src="$1" width="'.$iWidth.'" height="'.$iHeight.'" '.$sIframeAttr.'></iframe></div>', 
		$sText
		);
            /**
	    * dailymotion.com fixed
	    */
	    $sText = preg_replace(
		    '/<video>http(?:s|):\/\/(?:www\.|)dai\.ly\/(\w+).*<\/video>/i', 
		    '
<div align="'.$iAlign.'"><iframe src="//dailymotion.com/embed/video/$1" width="'.$iWidth.'" height="'.$iHeight.'" '.$sIframeAttr.'></iframe></div>', 
		$sText
		);
		return $sText;
	}

Конечно же в /config/jevix.php добавляем нехватающие сайты.

Свои параметры сюда:
// Размеры и атрибуты окна вставленного видео.
        $iWidth = 620;
        $iHeight = 360;
        $iAlign = "center";
        $sIframeAttr = 'frameborder="0" webkitAllowFullScreen mozallowfullscreen allowfullscreen="allowfullscreen"';


Готово!

ссылка на вставку видео tinyMCE

Доброго времени всем!

Долго шарился в просторах интернета, чтобы найти более менее удобный для ОБЫЧНЫХ пользователей редактор. Пытался интегрировать tinyMCE 4 и ckeditor старый. Первый полу рабочий оказался, а второй еще старее стандартного.
На ЛС сайте так и не нашел не одного решения на самые актуальные проблема с редактором. Как так?? 2017 год заканчивается как бы.
В общем интегрировать новый редактор желание пропало. Прошу помощи в следующем:
Как сменить тип ссылки с HTML на обычный URL(с адресной строки) при вставке видео в стандартном tinyMCE на LS 1.0.3?
Запустил тестом сайт, и 40% пользователей понятия не имеют что такое HTML ссылка с видео.

Заранее благодарю.

Код:

public function VideoParser($sText) {
		/**
		 * youtube.com
		 */
		$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);

Как сделать вывод видео из //vk.com?

Добрый всем день!
Посмотрел на форуме коды для вставки видео, но они похоже для старых версий кода вк… либо я криворук…
втсвалял конструкции вида:
$sText = preg_replace('/<video>\/\/vk\.com\/(.*)<\/video>/Ui', '<iframe src="//vk.com/$1" width="640" height="360" frameborder="0"></iframe>', $sText);

переделанные с http… но ни как не работает(
и
//Регулярка для вконтакта
        $regExp = "/<video>http(?:s|):\/\/(?:www\.|)vk\.com\/video([\d]+)_([\d]+)<\/video>/Ui";
#Если есть видео из вконтакта
        if(preg_match($regExp, $sText)) {
            #Считаем количество видео вконтакта
            preg_match_all($regExp, $sText, $sTextMatches);
            for($i=0;$i<count($sTextMatches[1]);$i++){
                #Получаем страницу с видео
                $html = file_get_contents('http://vk.com/video'.$sTextMatches[1][$i].'_'.$sTextMatches[2][$i]);
                #Ищем hash для видео
                preg_match('/\\\"hash2\\\":\\\"([a-f0-9]+)\\\"/Ui', $html, $matches);
                #Заменяем ссылки
                $sText = preg_replace('/<video>http(?:s|):\/\/(?:www\.|)vk\.com\/video'.$sTextMatches[1][$i].'_'.$sTextMatches[2][$i].'<\/video>/Ui', '<iframe src="http://vk.com/video_ext.php?oid='.$sTextMatches[1][$i].'&id='.$sTextMatches[2][$i].'&hash='.$matches[1].'" width="560" height="315" frameborder="0"></iframe>', $sText);
            }
        }

  

в jevix.php везде добавил vk.com

в общем вот… не знаю, что можно сделать и в какую сторону смотреть(
ни у кого решения не завалялось?

Заранее спасибо всем откликнувшимся:)

httpS в ссылке на видео

Не знаю, возможно уже обсуждали проблему, в общем при копировании ссылки из адресной строки Ютуб иногда получаются ссылки начинающиеся с httpS, соответственно парсер не распознает такую ссылку и в топике там где должно появиться видео получается пустое место.
Куда прописать альтернативное начало ссылки, чтобы парсер понимал как http так и https?

http detect установил — не помогло.

Не отображается видео с Ютуба

Здравствуйте.
Подскажите пожалуйста, вставляю код в текстовый пост вида <vidео>http://www.youtube.com/embed/xxxxx</vidео> но при сохранении поста просто белое поле вместо видео-ролика. В чем может быть проблема? Домен youtube.com разрешен в файле jevix во всех трех строках кода, текстовый редактор стоит встроенный, не TinyMCE (считаю его более удобным).
Заранее благодарю откликнувшихся.

Плагин "Время прочтения и просмотра" (обновление)

Всё не угомонюсь я со своим плагином. Вот и обновление.


Теперь плагин умеет считать не только время нужное для прочтения топика, но и время для просмотра видео из топика.
К тому же, я вывел информацию в хук topic_show_info. Есть также указать и другие хуки (несколько сразу), в которых есть объект $oTopic.

Плагин может считать видео с таких ресурсов как Youtube, Vimeo, Rutube и Coub. При этом ссылки на видео должны быть вставлены через тег video.

GitHub: github.com/sgavka/lsplugin-time-of-reading
В каталоге: catalog.livestreetcms.com/addon/view/503/