Добро пожаловать, Гость!
bbcode ютуб - Страница 1
Помощь мастерам | bbcode ютуб
ALEKS-77 :
Добрый день ! Подскажите какой код прописать в sys/fnc/bbcode.php ,чтоб на сайте было кидаешь ссылку от ютуба видео и появился сразу плеер видео на сайте и можно произвести посмотреть видео на сайте ! Без этих
[youtubeВидео Youtube[/youtube
bbcode ютуб
22 Авг 2018Добрый день ! Подскажите какой код прописать в sys/fnc/bbcode.php ,чтоб на сайте было кидаешь ссылку от ютуба видео и появился сразу плеер видео на сайте и можно произвести посмотреть видео на сайте ! Без этих
[youtubeВидео Youtube[/youtube
Комментарии:
Энмеркар 23 Авг 2018
mrholler, Да всё нормально это тут на форуме подрезало код в этом месте [^ r/n/t`'"]
______________________
꧁༺Энмеркар༻꧂
mrholler, Да всё нормально это тут на форуме подрезало код в этом месте [^ r/n/t`'"]
______________________
꧁༺Энмеркар༻꧂
kantry 23 Авг 2018
На одном сайте года 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<img src="/style/smiles/331.gif" alt="smile" />?([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);
На одном сайте года 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<img src="/style/smiles/331.gif" alt="smile" />?([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);
Энмеркар 23 Авг 2018
mrholler, Молодец,, а куда из функции слеши делились это же ошибкой будет ты поясни а то вдруг человек скопирует и как шамашн с бубном плясать будет
<?
$msg = preg_replace_callback('~(^|s)([a-z]+://([^ rnt`'"]+))(s|$)~iu', 'youtube_preg', $msg);
?>
Добавлено:
Ссылка
______________________
꧁༺Энмеркар༻꧂
mrholler, Молодец,, а куда из функции слеши делились это же ошибкой будет ты поясни а то вдруг человек скопирует и как шамашн с бубном плясать будет
<?
$msg = preg_replace_callback('~(^|s)([a-z]+://([^ rnt`'"]+))(s|$)~iu', 'youtube_preg', $msg);
?>
Добавлено:
Ссылка
______________________
꧁༺Энмеркар༻꧂
mrholler 22 Авг 2018
В /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/индификатор
Под другие легко переписать.
В /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/индификатор
Под другие легко переписать.
Энмеркар 22 Авг 2018
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>';
______________________
꧁༺Энмеркар༻꧂
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>';
______________________
꧁༺Энмеркар༻꧂
ALEKS-77 22 Авг 2018
Автор темы
Энмеркар Здорова , нравится он мне этот код .но охото сразу например на ютубе ссылку URL скопировал и на сайте её выложил либо в почте или в беседке и сразу появился бы плеер . как и этот тег [youtube]Видео Youtube[/youtube]
Автор темы
Энмеркар Здорова , нравится он мне этот код .но охото сразу например на ютубе ссылку URL скопировал и на сайте её выложил либо в почте или в беседке и сразу появился бы плеер . как и этот тег [youtube]Видео Youtube[/youtube]