viiprogrammer Posted February 7, 2016 Report Share Posted February 7, 2016 Как мы все знаем в вии видео можно добавить тк с началом на http, после установки эта проблема решится! В videos.php найти: case "send": NoAjaxQuery(); И ниже найти: //Если youtube то добавляем префикс src=" и составляем ответ для скрипта, для вставки в БД if(preg_match("/src=\"http:\/\/www.youtube.com|src=\"http:\/\/youtube.com/i", 'src="'.$good_video_lnk)){ $good_video_lnk = str_replace(array('#', '!'), '', $good_video_lnk); $exp_y = explode('v=', $good_video_lnk); $exp_x = explode('&', $exp_y[1]); $result_video_lnk = '<iframe width="770" height="420" src="http://www.youtube.com/embed/'.$exp_x[0].'" frameborder="0" allowfullscreen></iframe>'; } //Если rutube, То добавляем префикс value=" if(preg_match("/value=\"http:\/\/www.rutube.ru|value=\"http:\/\/rutube.ru/i", 'value="'.$good_video_lnk)){ $exp_frutube = explode('?v=', $good_video_lnk); $result_video_lnk = '<OBJECT width="770" height="420"><PARAM name="movie" value="http://video.rutube.ru/'.$exp_frutube[1].'"></PARAM><PARAM name="wmode" value="window"></PARAM><PARAM name="allowFullScreen" value="true"></PARAM><EMBED src="http://video.rutube.ru/'.$exp_frutube[1].'" type="application/x-shockwave-flash" wmode="window" width="770" height="420" allowFullScreen="true" ></EMBED></OBJECT>'; } //Если vimeo, То добавляем префикс src=" if(preg_match("/src=\"http:\/\/www.vimeo.com|src=\"http:\/\/vimeo.com/i", 'src="'.$good_video_lnk)){ $exp_frutube = explode('com/', $good_video_lnk); $result_video_lnk = '<iframe src="http://player.vimeo.com/video/'.$exp_frutube[1].'" width="770" height="420" frameborder="0"></iframe>'; } //Если smotri, То добавляем префикс src=" if(preg_match("/src=\"http:\/\/www.smotri.com|src=\"http:\/\/smotri.com/i", 'src="'.$good_video_lnk)){ $exp = explode('id=', str_replace('#', '', $good_video_lnk)); $result_video_lnk = '<object id="smotriComVideoPlayer'.$exp[1].'_1314557535.5897_7726" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="770" height="420"><param name="movie" value="http://pics.smotri.com/player.swf?file='.$exp[1].'&bufferTime=3&autoStart=false&str_lang=rus&xmlsource=http%3A%2F%2Fpics.smotri.com%2Fcskins%2Fblue%2Fskin_color.xml&xmldatasource=http%3A%2F%2Fpics.smotri.com%2Fskin_ng.xml" /><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /><param name="bgcolor" value="#ffffff" /><embed src="http://pics.smotri.com/player.swf?file='.$exp[1].'&bufferTime=3&autoStart=false&str_lang=rus&xmlsource=http%3A%2F%2Fpics.smotri.com%2Fcskins%2Fblue%2Fskin_color.xml&xmldatasource=http%3A%2F%2Fpics.smotri.com%2Fskin_ng.xml" quality="high" allowscriptaccess="always" allowfullscreen="true" wmode="opaque" width="770" height="420" type="application/x-shockwave-flash"></embed></object>'; } И заменить на: //Если youtube то добавляем префикс src=" и составляем ответ для скрипта, для вставки в БД if(preg_match("/src=\"http(?:s)?:\/\/www.youtube.com|src=\"http:\/\/youtube.com/i", 'src="'.$good_video_lnk)){ $good_video_lnk = str_replace(array('#', '!'), '', $good_video_lnk); $exp_y = explode('v=', $good_video_lnk); $exp_x = explode('&', $exp_y[1]); $result_video_lnk = '<iframe width="770" height="420" src="http://www.youtube.com/embed/'.$exp_x[0].'" frameborder="0" allowfullscreen></iframe>'; } //Если rutube, То добавляем префикс value=" if(preg_match("/value=\"http(?:s)?:\/\/www.rutube.ru|value=\"http:\/\/rutube.ru/i", 'value="'.$good_video_lnk)){ $exp_frutube = explode('?v=', $good_video_lnk); $result_video_lnk = '<OBJECT width="770" height="420"><PARAM name="movie" value="http://video.rutube.ru/'.$exp_frutube[1].'"></PARAM><PARAM name="wmode" value="window"></PARAM><PARAM name="allowFullScreen" value="true"></PARAM><EMBED src="http://video.rutube.ru/'.$exp_frutube[1].'" type="application/x-shockwave-flash" wmode="window" width="770" height="420" allowFullScreen="true" ></EMBED></OBJECT>'; } //Если vimeo, То добавляем префикс src=" if(preg_match("/src=\"http(?:s)?:\/\/www.vimeo.com|src=\"http:\/\/vimeo.com/i", 'src="'.$good_video_lnk)){ $exp_frutube = explode('com/', $good_video_lnk); $result_video_lnk = '<iframe src="http://player.vimeo.com/video/'.$exp_frutube[1].'" width="770" height="420" frameborder="0"></iframe>'; } //Если smotri, То добавляем префикс src=" if(preg_match("/src=\"http(?:s)?:\/\/www.smotri.com|src=\"http:\/\/smotri.com/i", 'src="'.$good_video_lnk)){ $exp = explode('id=', str_replace('#', '', $good_video_lnk)); $result_video_lnk = '<object id="smotriComVideoPlayer'.$exp[1].'_1314557535.5897_7726" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="770" height="420"><param name="movie" value="http://pics.smotri.com/player.swf?file='.$exp[1].'&bufferTime=3&autoStart=false&str_lang=rus&xmlsource=http%3A%2F%2Fpics.smotri.com%2Fcskins%2Fblue%2Fskin_color.xml&xmldatasource=http%3A%2F%2Fpics.smotri.com%2Fskin_ng.xml" /><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /><param name="bgcolor" value="#ffffff" /><embed src="http://pics.smotri.com/player.swf?file='.$exp[1].'&bufferTime=3&autoStart=false&str_lang=rus&xmlsource=http%3A%2F%2Fpics.smotri.com%2Fcskins%2Fblue%2Fskin_color.xml&xmldatasource=http%3A%2F%2Fpics.smotri.com%2Fskin_ng.xml" quality="high" allowscriptaccess="always" allowfullscreen="true" wmode="opaque" width="770" height="420" type="application/x-shockwave-flash"></embed></object>'; } Найти: //################### Парсер . Загрузка данных о видео ###################// case "load": NoAjaxQuery(); $video_lnk = $_POST['video_lnk']; if(preg_match("/http:\/\/www.youtube.com|http:\/\/youtube.com|http:\/\/rutube.ru|http:\/\/www.rutube.ru|http:\/\/www.vimeo.com|http:\/\/vimeo.com|http:\/\/smotri.com|http:\/\/www.smotri.com/i", $video_lnk)){ //Открываем ссылку //Если ссылка youtube, то формируем xml ссылку для получения данных if(preg_match("/http:\/\/www.youtube.com|http:\/\/youtube.com/i", $video_lnk)){ $exp_y = explode('v=', $video_lnk); $exp_x = explode('&', $exp_y[1]); $sock = fopen('http://www.youtube.com/oembed?url=http://www.youtube.com/watch?v='.$exp_x[0].'&format=xml', 'r'); } elseif(preg_match("/http:\/\/www.vimeo.com|http:\/\/vimeo.com/i", $video_lnk)){ $sock = fopen('http://vimeo.com/api/oembed.xml?url='.$video_lnk, 'r'); } else { $sock = fopen($video_lnk, 'r'); } if(!$sock){ echo 'no_serviece'; } else { $html = ''; //Если сервис youtube, rutube, smotri то просто выводи if(preg_match("/http:\/\/www.youtube.com|http:\/\/youtube.com|http:\/\/rutube.ru|http:\/\/www.rutube.ru|http:\/\/smotri.com|http:\/\/www.smotri.com/i", $video_lnk)){ while(!feof($sock)){ $html .= fgets($sock); } } //Если сервис Vimeo, то сразу применяем кодировку utf-8, win-1251 if(preg_match("/http:\/\/www.vimeo.com|http:\/\/vimeo.com/i", $video_lnk)){ while(!feof($sock)){ $html .= ajax_utf8(fgets($sock)); } } fclose($sock); //Если сервис Vimeo, то выводим без кодировки $data = str_replace(array('[', ']'), array('&iqu;', '&iqu2;'), $html); //Если сервис youtube применяем кодировку utf-8, win-1251 $data_all = ajax_utf8(str_replace(array('[', ']'), array('&iqu;', '&iqu2;'), $html)); //Если видеосервис youtube if(preg_match("/http:\/\/www.youtube.com|http:\/\/youtube.com/i", $video_lnk)){ preg_match_all('`(<title>[^\[]+\</title>)`si', $data_all, $parse); $res_title = rn_replace(str_replace(array('<title>', '</title>'), '', $parse[1][0])); //Делаем фотку для youtube $parse_start = explode('v=', $video_lnk); $parse_end = explode('&', $parse_start[1]); $res_img = "http://img.youtube.com/vi/{$parse_end[0]}/0.jpg"; } //Если видеосервис rutube if(preg_match("/http:\/\/rutube.ru|http:\/\/www.rutube.ru/i", $video_lnk)){ $data_rutube = iconv('koi8-u', 'windows-1251', str_replace(array('[', ']'), array('&iqu;', '&iqu2;'), $html)); preg_match_all('`(<meta property="og:title" content="[^\[]+\<meta property="og:description")`si', $data_rutube, $parse_rutube); $res_title = rn_replace(str_replace(array('<meta property="og:title" content="', '<meta property="og:description"', '" />'), '', $parse_rutube[1][0])); preg_match_all('`(<meta property="og:description" content="[^\[]+\<meta property="og:image")`si', $data_rutube, $parse_rutube_descr); $res_descr = rn_replace(str_replace(array('<meta property="og:description" content="', '<meta property="og:image"', '" />'), '', $parse_rutube_descr[1][0])); $exp_rutube_img = explode('v=', $video_lnk); $exp_img_dir = substr($exp_rutube_img[1], 0, 2); $exp_img_dir_2 = substr($exp_rutube_img[1], 2, 2); $res_img = "http://tub.rutube.ru/thumbs/{$exp_img_dir}/{$exp_img_dir_2}/{$exp_rutube_img[1]}-1.jpg"; } //Если видеосервис vimeo if(preg_match("/http:\/\/www.vimeo.com|http:\/\/vimeo.com/i", $video_lnk)){ preg_match_all('`(<title>[^\[]+\</title>)`si', $data, $parse); $res_title = str_replace(array('<title>', '</title>'), '', $parse[1][0]); preg_match_all('`(<thumbnail_url>[^\[]+\</thumbnail_url>)`si', $data, $parse_img); $res_img = str_replace(array('<thumbnail_url>', '</thumbnail_url>'), '', $parse_img[1][0]); preg_match_all('`(<description>[^\[]+\</description>)`si', $data, $parse_descr); $res_descr = myBrRn(rn_replace($parse_descr[1][0])); } //Если видеосервис smotri if(preg_match("/http:\/\/smotri.com|http:\/\/www.smotri.com/i", $video_lnk)){ $html = iconv('utf-8', 'windows-1251', $html); preg_match_all('`(<meta property="og:title" content="[^\[]+\<meta property="og:image")`si', $html, $parse_title); $res_title = rn_replace(str_replace(array('<meta property="og:title" content="', '<meta property="og:image"', '" />'), '', $parse_title[1][0])); preg_match_all('`(<link rel="image_src" href="[^\[]+\<!-- Open Graf Protocol. Facebook/Yandex -->)`si', $html, $parse_img); $res_img = rn_replace(str_replace(array('<link rel="image_src" href="', '<!-- Open Graf Protocol. Facebook/Yandex -->', '" />'), '', $parse_img[1][0])); } $result_img = $res_img; $result_title = trim(strip_tags(strtr($res_title, array(''' => "'", '"' => '"', '&iqu;' => '[', '&iqu2;' => ']')))); $result_descr = trim(strip_tags($res_descr)); if($result_img && $result_title) echo "{$result_img}:|:{$result_title}:|:{$result_descr}"; else echo 'no_serviece'; } } else echo 'no_serviece'; die(); break; И заменить на: //################### Парсер . Загрузка данных о видео ###################// case "load": NoAjaxQuery(); $video_lnk = $_POST['video_lnk']; if(preg_match("/http(?:s)?:\/\/www.youtube.com|http(?:s)?:\/\/youtube.com|http(?:s)?:\/\/rutube.ru|http(?:s)?:\/\/www.rutube.ru|http(?:s)?:\/\/www.vimeo.com|http(?:s)?:\/\/vimeo.com|http(?:s)?:\/\/smotri.com|http(?:s)?:\/\/www.smotri.com/i", $video_lnk)){ //Открываем ссылку //Если ссылка youtube, то формируем xml ссылку для получения данных if(preg_match("/http(?:s)?:\/\/www.youtube.com|http(?:s)?:\/\/youtube.com/i", $video_lnk)){ $exp_y = explode('v=', $video_lnk); $exp_x = explode('&', $exp_y[1]); $sock = fopen('http://www.youtube.com/oembed?url=http://www.youtube.com/watch?v='.$exp_x[0].'&format=xml', 'r'); } elseif(preg_match("/http(?:s)?:\/\/www.vimeo.com|http(?:s)?:\/\/vimeo.com/i", $video_lnk)){ $sock = fopen('http://vimeo.com/api/oembed.xml?url='.$video_lnk, 'r'); } else { $sock = fopen($video_lnk, 'r'); } if(!$sock){ echo 'no_serviece'; } else { $html = ''; //Если сервис youtube, rutube, smotri то просто выводи if(preg_match("/http(?:s)?:\/\/www.youtube.com|http(?:s)?:\/\/youtube.com|http(?:s)?:\/\/rutube.ru|http(?:s)?:\/\/www.rutube.ru|http(?:s)?:\/\/smotri.com|http(?:s)?:\/\/www.smotri.com/i", $video_lnk)){ while(!feof($sock)){ $html .= fgets($sock); } } //Если сервис Vimeo, то сразу применяем кодировку utf-8, win-1251 if(preg_match("/http(?:s)?:\/\/www.vimeo.com|http(?:s)?:\/\/vimeo.com/i", $video_lnk)){ while(!feof($sock)){ $html .= ajax_utf8(fgets($sock)); } } fclose($sock); //Если сервис Vimeo, то выводим без кодировки $data = str_replace(array('[', ']'), array('&iqu;', '&iqu2;'), $html); //Если сервис youtube применяем кодировку utf-8, win-1251 $data_all = ajax_utf8(str_replace(array('[', ']'), array('&iqu;', '&iqu2;'), $html)); //Если видеосервис youtube if(preg_match("/http(?:s)?:\/\/www.youtube.com|http(?:s)?:\/\/youtube.com/i", $video_lnk)){ preg_match_all('`(<title>[^\[]+\</title>)`si', $data_all, $parse); $res_title = rn_replace(str_replace(array('<title>', '</title>'), '', $parse[1][0])); //Делаем фотку для youtube $parse_start = explode('v=', $video_lnk); $parse_end = explode('&', $parse_start[1]); $res_img = "http://img.youtube.com/vi/".$parse_end[0]."/0.jpg"; } //Если видеосервис rutube if(preg_match("/http(?:s)?:\/\/rutube.ru|http(?:s)?:\/\/www.rutube.ru/i", $video_lnk)){ $data_rutube = iconv('koi8-u', 'windows-1251', str_replace(array('[', ']'), array('&iqu;', '&iqu2;'), $html)); preg_match_all('`(<meta property="og:title" content="[^\[]+\<meta property="og:description")`si', $data_rutube, $parse_rutube); $res_title = rn_replace(str_replace(array('<meta property="og:title" content="', '<meta property="og:description"', '" />'), '', $parse_rutube[1][0])); preg_match_all('`(<meta property="og:description" content="[^\[]+\<meta property="og:image")`si', $data_rutube, $parse_rutube_descr); $res_descr = rn_replace(str_replace(array('<meta property="og:description" content="', '<meta property="og:image"', '" />'), '', $parse_rutube_descr[1][0])); $exp_rutube_img = explode('v=', $video_lnk); $exp_img_dir = substr($exp_rutube_img[1], 0, 2); $exp_img_dir_2 = substr($exp_rutube_img[1], 2, 2); $res_img = "http://tub.rutube.ru/thumbs/{$exp_img_dir}/{$exp_img_dir_2}/{$exp_rutube_img[1]}-1.jpg"; } //Если видеосервис vimeo if(preg_match("/http:\/\/www.vimeo.com|http:\/\/vimeo.com/i", $video_lnk)){ preg_match_all('`(<title>[^\[]+\</title>)`si', $data, $parse); $res_title = str_replace(array('<title>', '</title>'), '', $parse[1][0]); preg_match_all('`(<thumbnail_url>[^\[]+\</thumbnail_url>)`si', $data, $parse_img); $res_img = str_replace(array('<thumbnail_url>', '</thumbnail_url>'), '', $parse_img[1][0]); preg_match_all('`(<description>[^\[]+\</description>)`si', $data, $parse_descr); $res_descr = myBrRn(rn_replace($parse_descr[1][0])); } //Если видеосервис smotri if(preg_match("/http:\/\/smotri.com|http:\/\/www.smotri.com/i", $video_lnk)){ $html = iconv('utf-8', 'windows-1251', $html); preg_match_all('`(<meta property="og:title" content="[^\[]+\<meta property="og:image")`si', $html, $parse_title); $res_title = rn_replace(str_replace(array('<meta property="og:title" content="', '<meta property="og:image"', '" />'), '', $parse_title[1][0])); preg_match_all('`(<link rel="image_src" href="[^\[]+\<!-- Open Graf Protocol. Facebook/Yandex -->)`si', $html, $parse_img); $res_img = rn_replace(str_replace(array('<link rel="image_src" href="', '<!-- Open Graf Protocol. Facebook/Yandex -->', '" />'), '', $parse_img[1][0])); } $result_img = $res_img; $result_title = trim(strip_tags(strtr($res_title, array(''' => "'", '"' => '"', '&iqu;' => '[', '&iqu2;' => ']')))); $result_descr = trim(strip_tags($res_descr)); if($result_img && $result_title) echo "{$result_img}:|:{$result_title}:|:{$result_descr}"; else echo 'no_serviece'; } } else echo 'no_serviece'; die(); break; В profile.js найти var pattern = new RegExp(/http:\/\/www.youtube.com|http:\/\/youtube.com|http:\/\/rutube.ru|http:\/\/www.rutube.ru|http:\/\/www.vimeo.com|http:\/\/vimeo.com|http:\/\/smotri.com|http:\/\/www.smotri.com/i); И заменить на: var pattern = new RegExp(/http(?:s)?:\/\/www.youtube.com|http(?:s)?:\/\/youtube.com|http(?:s)?:\/\/rutube.ru|http(?:s)?:\/\/www.rutube.ru|http(?:s)?:\/\/www.vimeo.com|http(?:s)?:\/\/vimeo.com|http(?:s)?:\/\/smotri.com|http(?:s)?:\/\/www.smotri.com/i); Все! Кликни ! 8 Quote Link to comment Share on other sites More sharing options...
Why Not Posted February 8, 2016 Report Share Posted February 8, 2016 все равно почему то пишет что неправильная ссылка, может там еще что то нужно менять... Quote Link to comment Share on other sites More sharing options...
viiprogrammer Posted February 8, 2016 Author Report Share Posted February 8, 2016 все равно почему то пишет что неправильная ссылка, может там еще что то нужно менять... Хмм пробовал ctrl+f5 может в кеше засело? Quote Link to comment Share on other sites More sharing options...
Why Not Posted February 8, 2016 Report Share Posted February 8, 2016 Хмм пробовал ctrl+f5 может в кеше засело? Да пробовал, все равно почему то не добавляет зараза вот к примеру пытаюсь добавить это https://youtu.be/XEOZOZH_kgM Quote Link to comment Share on other sites More sharing options...
Why Not Posted February 8, 2016 Report Share Posted February 8, 2016 попробуй добавь, добавляется? Quote Link to comment Share on other sites More sharing options...
viiprogrammer Posted February 8, 2016 Author Report Share Posted February 8, 2016 попробуй добавь, добавляется? У вии вроде сылки тк прямые кушает не youtu.be Quote Link to comment Share on other sites More sharing options...
wenjiro Posted February 11, 2016 Report Share Posted February 11, 2016 попробуй добавь, добавляется? сокращенные ссылки он брать не будет. Quote Link to comment Share on other sites More sharing options...
Aleina- show Posted May 18, 2016 Report Share Posted May 18, 2016 (edited) Ребят, подскажите, почему вий берет ссылки выборочно, не пойму механизм правильной вставки. Фикс установлен. Например, что не нравится вию в этой ссылке? https://www.youtube.com/watch?v=y3RRKjm8ORs Edited May 18, 2016 by Aleina- show Quote Link to comment Share on other sites More sharing options...
viiprogrammer Posted May 19, 2016 Author Report Share Posted May 19, 2016 Ребят, подскажите, почему вий берет ссылки выборочно, не пойму механизм правильной вставки. Фикс установлен. Например, что не нравится вию в этой ссылке? https://www.youtube.com/watch?v=y3RRKjm8ORs Возможно не получается с видео выдрать превью или еще че 1 Quote Link to comment Share on other sites More sharing options...
Shaman Daniels Posted May 19, 2016 Report Share Posted May 19, 2016 Ребят, подскажите, почему вий берет ссылки выборочно, не пойму механизм правильной вставки. Фикс установлен. Например, что не нравится вию в этой ссылке? https://www.youtube.com/watch?v=y3RRKjm8ORs Это vii. И этим всё сказано) 1 Quote Link to comment Share on other sites More sharing options...
Aleina- show Posted May 19, 2016 Report Share Posted May 19, 2016 Да, странно. На то и похоже, что превьюшка не берется. Ну ладно, значит придется смириться, спасибо за консультацию, ребят. Quote Link to comment Share on other sites More sharing options...
roland155 Posted May 26, 2016 Report Share Posted May 26, 2016 на стену не добавляет видос а в видео сохраняет сборка Андрея Quote Link to comment Share on other sites More sharing options...
viiprogrammer Posted May 27, 2016 Author Report Share Posted May 27, 2016 на стену не добавляет видос а в видео сохраняет сборка Андрея Насколько помню то при прикреплении вроде адреса не чекает так что похоже дело не в этой фиче Quote Link to comment Share on other sites More sharing options...
Admin22 Posted November 2, 2021 Report Share Posted November 2, 2021 Не работает, Удалите не актуально! Quote Link to comment Share on other sites More sharing options...
NaFanyA Posted November 2, 2021 Report Share Posted November 2, 2021 4 часа назад, Admin22 сказал: Не работает, Удалите не актуально! Удалять не будем. Но за это время с момента написания поста прошло много времени, может уже что и не работает. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.