Видео в блогах. Нужна помощь!

 
Посетитель
small user social cms
Медаль
Сообщений: 122
Не нашел тут решения. Посему еще раз задаю вопрос - как научить блоги (и форум тоже) понимать видео не только с Ютуба? Никакие другие коды не принимает. Ни Вконтакте, ни Vimeo. Либо просто публикуется сам код, либо пустое место. Как пофиксить???
Городской портал Судака
Микроблоги Squiper
Посетитель
small user social cms
МедальПочетный донор проектаАвторитет форумаКубок зрительских симпатий
Сообщений: 2471
А ссылки дайте попробовать
Раньше РАЙ был везде - РАЙсовет, РАЙком, РАЙсобес...., а сейчас везде АДминистрации!
Не надо давать людям советы. Каждый должен лохануться самостоятельно!
Любишь в продакшн, люби и баги починить!
Реклама
cms
Посетитель
small user social cms
Медаль
Сообщений: 122
Фух. Разобрался. Нужно сделать следующее:
В файле /core/cms.php меняем
Код PHP:
  1. public static function badTagClear($string){
  2.  
  3. $bad_tags = array (
  4. "'<script[^>]*?>.*?</script>'si",
  5. "'<style[^>]*?>.*?</style>'si",
  6. "'<meta[^>]*?>'si",
  7. '/<iframe.*?src=(?!"http:\/\/www\.youtube\.com\/embed\/|"http:\/\/vkontake\.ru\/video_ext\.php\?).*?>.*?<\/iframe>/i',
  8. '/<iframe.*>.+<\/iframe>/i'
  9. );
  10.  
  11. $string = preg_replace($bad_tags, '', $string);
  12.  
  13. return $string;
на вот это:

Код PHP:
  1. public static function badTagClear($string){
  2.  
  3. $bad_tags = array (
  4. "'<script[^>]*?>.*?</script>'si",
  5. "'<style[^>]*?>.*?</style>'si",
  6. "'<meta[^>]*?>'si",
  7. '/<iframe.*?src=(?!"http:\/\/www\.youtube\.com\/embed\/|"http:\/\/player\.vimeo\.com\/video\/|"http:\/\/vk\.com\/video_ext\.php\?).*?>.*?<\/iframe>/i',
  8. '/<iframe.*>.+<\/iframe>/i'
  9. );
  10.  
  11. $string = preg_replace($bad_tags, '', $string);
  12.  
  13. return $string;
А в файле /includes/bbcode/bbcode.lib.php

меняем

Код PHP:
  1. function video_2html($elem) {
  2. $str = '<div class="bb_tag_video">';
  3. foreach ($elem['val'] as $item) {
  4.  
  5. if ('item'==$item['type']) { continue; }
  6.  
  7. $iframe_regexp = '/<iframe.*?src=(?!"http:\/\/www\.youtube\.com\/embed\/|"http:\/\/vkontakte\.ru\/video_ext\.php\?).*?><\/iframe>/i';
  8. $iframe_regexp2 = '/<iframe.*>.+<\/iframe>/i';
  9. $item['str'] = preg_replace($iframe_regexp, '', $item['str']);
  10. $item['str'] = preg_replace($iframe_regexp2, '', $item['str']);
  11.  
  12. $str .= strip_tags($item['str'], '<iframe><object><param><embed>');
  13.  
  14. }
  15. $str .= '</div>';
  16. return $str;
  17. }
на это

Код PHP:
  1. function video_2html($elem) {
  2. $str = '<div class="bb_tag_video">';
  3. foreach ($elem['val'] as $item) {
  4.  
  5. if ('item'==$item['type']) { continue; }
  6.  
  7. $iframe_regexp = '/<iframe.*?src=(?!"http:\/\/www\.youtube\.com\/embed\/|"http:\/\/player\.vimeo\.com\/video\/|"http:\/\/vk\.com\/video_ext\.php\?).*?><\/iframe>/i';
  8. $iframe_regexp2 = '/<iframe.*>.+<\/iframe>/i';
  9. $item['str'] = preg_replace($iframe_regexp, '', $item['str']);
  10. $item['str'] = preg_replace($iframe_regexp2, '', $item['str']);
  11.  
  12. $str .= strip_tags($item['str'], '<iframe><object><param><embed>');
  13.  
  14. }
  15. $str .= '</div>';
  16. return $str;
  17. }
Проблема была в том, что Vimeo там было не прописано, а у Вконтакта поменялась ссылка на vk.com Собственно и все теперь работает )
Городской портал Судака
Микроблоги Squiper
Посетитель
small user social cms
Медаль
Сообщений: 122
Хотя, конечно, было бы неплохо, если бы сделали так, чтобы пользователю надо было вставлять не код видео, а только ссылку. Не все же знают, как это делать. Зато на многих соцсетях это реализовано. Просто вставляешь ссылку на видео, а оно добавляется автоматом. Будет такое в iCMS v.2?
Городской портал Судака
Микроблоги Squiper
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1170
Версия 1.10
Второй день перебираю коды и понять не могу почему не работает

Есть желание чтобы на сайте воиспроизводился этот код

Код PHP:
  1. <iframe width="440" height="365" scrolling="no" src="http://cmsinstant.ru/components/video/ajax/get_movie_code.php?id=110&width=425&height=349" frameborder="0" allowfullscreen></iframe>
В связи с этим в файлы /core/cms.php и /includes/bbcode/bbcode.lib.php добавил этот код

Код PHP:
  1. |"http:\/\/cmsinstant\.ru\/components\/video\/ajax\/get_movie_code\.php\?|
Полностью код выглядит так;

Код PHP:
  1. <iframe.*?src=(?!"http:\/\/www\.youtube\.com\/embed\/|"http:\/\/player\.vimeo\.com\/video\/|"http:\/\/cmsinstant\.ru\/components\/video\/ajax\/get_movie_code\.php\?|"http:\/\/vk\.com\/video_ext\.php\?|"'.$my_domen_regexp.').*?>.*?<\/iframe>
Суть в том что воспроизводит видео даже с "вторгнутого сайта http://vimeo.com/
а с http://cmsinstant.ru/video/ ни в какую не хочет.
ПОЧЕМУ ТАК?????????
Редактировалось: 2 раз (Последний: 4 декабря 2012 в 18:44)
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4379
В ядре есть строчка
Код PHP:
  1. self::$jevix->cfgAllowTagParams('iframe', array('width' => '#int', 'frameborder' => '#int', 'allowfullscreen' => '#int', 'height' => '#int', 'src' => array('#domain'=>array('youtube.com','vimeo.com','vk.com', self::getHost()))));
Добавьте нужный домен в список по аналогии.
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1170
Помогло!!!! Спасибо огромное!!!
Посетитель
small user social cms
Сообщений: 57
Как rutube.ru добавить?
Посетитель
no avatar
Сообщений: 5
Димарио:

Как rutube.ru добавить?

В файлах /core/cms.php и /includes/bbcode/bbcode.lib.php замените
Код PHP:
  1. '/<iframe.*?src=(?!"http:\/\/www\.youtube\.com\/embed\/|"http:\/\/player\.vimeo\.com\/video\/|"http:\/\/vk\.com\/video_ext\.php\?).*?>.*?<\/iframe>/i',
на
Код PHP:
  1. '/<iframe.*?src=(?!"http:\/\/www\.youtube\.com\/embed\/|"http:\/\/rutube\.ru\/video\/embed\/|"http:\/\/player\.vimeo\.com\/video\/|"http:\/\/vk\.com\/video_ext\.php\?).*?>.*?<\/iframe>/i',
...и все будет работать: Youtube, Rutube, Vimeo и VK.
Единственное, в полученный код с любого из этих видеохостингов (кроме VK), при вставке приходится вручную прописывать http:, т.к. код вида <iframe src="//rutube... не работает, а работает только вот так: <iframe src="http://rutube...
Данную проблему пока не решил. Если кто знает, подскажите решение (версия 1.9).
Редактировалось: 1 раз (Последний: 2 февраля 2014 в 02:11)
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.