Для RotorCMS
В функционс пхп в обработке bbcode вставляем :
<? php
//=== вставляем после
function bb_code($msg) {
//--- это в начале функции - Ютубе --//
$msg = str_replace('http://www.youtube.com', 'youtube-com', $msg);
$msg = str_replace('http://m.youtube.com', 'youtube-com', $msg);
$msg = str_replace('http://youtu.be/', 'youtube-com/watch?v=', $msg);
//--- обработка ссылок на youtube ---//
//=== это в конце функции
$msg = preg_replace_callback('!youtube\-com\/index\?[^\?]+\?v=([a-z\d\-_]+)([^\s|\[]+)?!is', 'youtube_video', $msg.' ');
$msg = preg_replace_callback('!<iframe.*?youtube\-com/embed/([a-z\d\-_]+).*?</iframe>!is', 'youtube_video', $msg.' ');
$msg = preg_replace_callback('!youtube\-com\/watch\?v=([a-z\d\-_]+)([^\s|\[]+)?!si', 'youtube_video', $msg.' ');
$msg = preg_replace_callback('!youtube\-com\/watch\?v=([a-z\d\-_]+)([^\s|\[|<]+)?!si', 'youtube_video', $msg.' ');
$msg = preg_replace_callback('!youtube\-com\/index\?[^\?]+\?v=([a-z\d\-_]+)([^\s|\[|<]+)?!is', 'youtube_video', $msg.' ');
//=== перед ретурн
return $msg;}
//=== После сам код вывода
Вывод видео :
<? php
function youtube_video($url){
return '<div><iframe style="width:590px; height:350px;" src="http://www.youtube.com/embed/'.$url[1].'?rel=0" frameborder="0"></iframe></div>';
}
Добавлено через 05:59 сек.
Пример.
Видео вставляется любой ссылкой на само видео, из
Поделиться.
Будь то короткая ссылка или хтмл код.
Изменил: GodZiLLa (18.04.2014 / 23:31)