Тема: bbcode ютуб (WAP/WEB мастеру/Помощь мастерам) Сибирский (22 Aug 2018 в 12:06) Я этот код писал и отлаживал несколько часов, потом тестировался с полгода на сайтах затем еще раз ревизировался и дотачивался до рабочего состояния. И тут приходишь ты такой красивый и говоришь дай ) Покупай ) ALEKS-77 (22 Aug 2018 в 14:23) Сибирский, Нет проблем ни каких могу и купить если кто предложит Энмеркар (22 Aug 2018 в 17:41) ALEKS-77, Здорова а чем тебе тег [youtube]Видео Youtube[/youtube] не нравится всё же прекрасно работает,, хотя я свой на Хабре брал и допиливал ALEKS-77 (22 Aug 2018 в 19:47) Энмеркар Здорова , нравится он мне этот код .но охото сразу например на ютубе ссылку URL скопировал и на сайте её выложил либо в почте или в беседке и сразу появился бы плеер . как и этот тег [youtube]Видео Youtube[/youtube] Энмеркар (22 Aug 2018 в 20:25) ALEKS-77, Так у меня без всяких сторонних плееров работает на всех устройствах плюс автоматом подгон идёт,, а ты выходить как в вк хочешь с помощью URL,, ну вот Сибирский что-то же предлагает причём проверенное решение,, хотя там сложного нечего нет чтобы сделать самому,, главное чтобы исходный тег вывода видео был на руках,, примерно во такой $bbcode[\'/[youtube](.+)[/youtube]/isU\']=\'<center><iframe width=\"604\" height=\"340\" style=\"max-width:100%\" src=\"//www.youtube.com/embed/$1\" frameborder=\"0\" allowfullscreen></iframe></center>\'; mrholler (22 Aug 2018 в 21:36) В /sys/fnc/links.php добавляем функцию <? function youtube_preg($arr) { if (preg_match(\'#^https://youtu.be#\',$arr[2])){ $url = explode(\'/\', $arr[2]); $url = $url[3]; return $arr[1] . \'<iframe src=\"https://www.youtube.com/embed/\' . $url . \'\" style=\"max-width: 100%;\" frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen></iframe>\' . $arr[4]; } } ?> Тут же в конце в функции links() добавляем <? $msg = preg_replace_callback(\'~(^|s)([a-z]+://([^ rnt`\'\"]+))(s|$)~iu\', \'youtube_preg\', $msg); ?> Готово! P.s. Написал за 5 мин. Работают ссылки вида youtu.be/индификатор Под другие легко переписать. Энмеркар (23 Aug 2018 в 01:11) mrholler, Молодец,, а куда из функции слеши делились это же ошибкой будет ты поясни а то вдруг человек скопирует и как шамашн с бубном плясать будет <? $msg = preg_replace_callback(\'~(^|s)([a-z]+://([^ rnt`\'\"]+))(s|$)~iu\', \'youtube_preg\', $msg); ?> [i]Добавлено:[/i] https://my-biz.com.ua/news/1076/65/izmenit-url-youtube-na-frejm-s-video-embed-php-regulyarnoe-vyrazhenie kantry (23 Aug 2018 в 03:30) На одном сайте года 2 назад делал, пока вроде работает, но \"граб\" ютуба поддерживать надо, они постоянно что то там переделывают. Добавляем пару функций(в output_text() например) <?php function replaceItem(&$array, $value, $replase=false) { foreach ($array as $key => $val) { if (is_array($val)) { replaceItem($array[$key], $value, $replase); } elseif ($val===$value) { if ($replase) { $array[$key] = $replase; } else { unset($array[$key]); } } } } function getYoutubeCode($url) { if (preg_match_all( \'/(?:https?://)?(?:www.)?youtu(?:.be|be.com)/(?:watch?v=)?([w-]{6,12})(?:&.+)?/i\', $url, $match )) { foreach ($match[1] as $item) { $value[] = $item; replaceItem($match, $item, \'[you400]\' . $item . \'[/you400]\', true);// Поменять на свое } return str_replace($match[0], $match[1], $url); } else { return $url; } }?> Ипользовать перед вставкой сообщения в таблицу $msg = getYoutubeCode($msg); mrholler (23 Aug 2018 в 11:25) Энмеркар, в регулярных выражениях не очень шарю:) Но у меня все работает. Энмеркар (23 Aug 2018 в 11:48) mrholler, Да всё нормально это тут на форуме подрезало код в этом месте [^ r/n/t`\'\"] Источник: http://www.dcms-social.ru/forum/20/44/62510/