Простая вставка Youtube видео в статьи с помощью фильтра

+52
2.98K
— Давненько не брал я в руки шашек!

Все знают, как ставить видео с Youtube себе в статью:
— На странице с видео Youtube.com под самим видео берем код для вставки.
— На сайте в редакторе статьи вставляем его в режиме "Источник".

Для тех, кто имеет дело с компьютером ничего сложного.
Но есть люди не столь сведущие и им приходится объяснять, где брать этот код для вставки, и как его вставлять в редакторе.

"Почему бы не доверить вставку кода плеера самому движку ведь у него есть такая замечательная система фильтров" — подумал я.


Вспомнив немного PHP, который я пару лет не видел, написал маленький фильтр.
Он, встретив в статье ссылку страницы youtube.com, заменяет ее кодом плеера.

Теперь авторам достаточно просто вставить адрес из адресной строки youtube. Что может быть проще?


Установка:
1. Качаем файл
2. Распаковываем и заливаем папку f_youtube себе на сайт в папку /filters/
3. Выполняем запрос
  1. INSERT INTO cms_filters VALUES ("", "Youtube плеер", "Фильтр заменяет ссылки на страницы youtube.com кодом плеера", "f_youtube", "1");
4. Проверяем и отписываемся )
0
reload reload 13 лет назад #
Вот молодец)
+
+1
Zau4man Zau4man 13 лет назад #
Огромный плюс!
А можно сделать плагин для блогов? Чтобы встретив ссылку он менял ее на видео + ссылку?
+1
Maximov Maximov 13 лет назад #
Проще и удобнее подредактировать блоги, чтобы те фильтровались общими фильтрами.
0
maia maia 13 лет назад #
Вот спасибо! Есть у меня заказчик, который постоянно что-то на ютуб выкладывает и потом не может догнать как на свой сайт вставить год уже - извел. Подарок просто!
0
Денис Васильевич Денис Васильевич 13 лет назад #
эх, как приятно когда можно воспользоваться наработкой другогоsmile
и самому нечего делать не нужно..

Спасибо.
0
artlab artlab 13 лет назад #
Очень удобно для пользователей,ведь у них нет кнопки "источник"
0
RIM5 RIM5 13 лет назад #
А это будет работать, если человек вставит код не с ютуба, а с рутуба, с майла, с яндекса и т.д.?
0
maxisoft maxisoft 13 лет назад #
нет не будет этот фильтр надо просто дописать под другие ресурсы.
0
Maximov Maximov 13 лет назад #
Этот – нет.
У каждого сервиса свои юрлы и свои плееры.
Писал под Youtube как наиболее распространенного видеохостера.

Можно ли дописать под другие? - Конечно.
Но надо ли? Ведь 90% видео на других тубах дублируют ролики с Youtube.
0
RIM5 RIM5 13 лет назад #
Но надо ли? Ведь 90% видео на других тубах дублируют ролики с Youtube.
Ну, у кого как... у меня вот 40 % с яндекса вставляют, 20 % с майла, 30 % с ютуба, кто-то с рутуба... остальная часть вообще непонятно откуда.
0
Maximov Maximov 13 лет назад #
Вставляют может и 40%, я немного о другом говорил - о том что из этих 40% большая часть есть и на youtube.

Один видеохостер - это единый стиль страниц с видео на сайте.
0
alexbabo alexbabo 13 лет назад #
а как можно такое же сделать для стены пользователя?
+1
Maximov Maximov 13 лет назад #
Ну теоретически можно, только думаю это не правильно.
Лучше подменять и вставлять код видео в момент написания (т.е. до за несения в базу)
чем парсить каждую запись на стене при просмотре.
0
alexbabo alexbabo 13 лет назад #
и как множно это сделать чтоб автоматом менялось?
+1
Maximov Maximov 13 лет назад #
Не могу сейчас дать готовое решение. Дело в том что при записи на стену текст и так парсится на наличие ссылок. На досуге подумаю как тот парсер можно модифицировать.
0
alexbabo alexbabo 13 лет назад #
Было полезным для всех.Спасибо))
0
alexbabo alexbabo 12 лет назад #
Пока ничего по поводу стены пользователя?
0
lezginka.ru lezginka.ru 13 лет назад #
не давно искал такое
+
0
bondar bondar 13 лет назад #
Как и какую правильно вставлять ссылку?? беру ссылку с строки в браузере, но в статье отображает ссылку((
+1
Maximov Maximov 13 лет назад #
Либо не так установили фильтр либо Youtube ввел новые типы юрлов.

- Проверьте включен ли фильтр в админке.
- Дайте ссылку на статью, посмотреть на строку которую он незахотел обрабатывать.
0
bondar bondar 13 лет назад #
спасибо за помощь
0
GarikKR GarikKR 13 лет назад #
После этого хака пользователи и админ не смогут добовлять фото через редактор)в статьиСупер хак!!
0
GarikKR GarikKR 13 лет назад #
И удолить те фото с сервера, которые пытались загрузить тоже не получится
+2
Maximov Maximov 13 лет назад #
Вы мягкоговоря что-то путаете.

Во-первых это не хак, а фильтр. Никакого изменения в код движка не вносится.

Во-вторых - ни к редактору, ни к загрузке фото, ни к добавлению вообще чего-нибудь на сайт, фильтр не имеет никакого отношения.
Фильтр правит на лету существующий контент перед отображением, что не влияет даже на сам контент.
Не нравится его работа - выключили в админке и всё отображается как и прежде.
0
GarikKR GarikKR 13 лет назад #
А вы попрбуйте добавить фото в статью!(не по ссылке)а непосредственно на сайт
0
Maximov Maximov 13 лет назад #
Адрес сайта в личку - проверю.
На моем тестовом сайте фото отлично загружается.
0
Алфей Алфей 12 лет назад #
Поставил фильтр, все работает, но есть один косячок. При добавлении ссылки с браузерной строки, подгружается плейер но остается хвостик ссылки.
Пример ссылки: http://www.youtube.com/watch?v=l2vpKQTfyVw &feature=g-feat&context=G203f89cYFAAAAAAAAAg
Выделенный текст остается. Может кто нибудь знает как сделать чтобы этот хвостик как то вырезался?
0
Frost Frost 12 лет назад #
Там вроде строка регулярных выражений проверяет ссылку до id, тоесть в данном случае до l2vpKQTfyVw по этому остальная часть:&feature=g-feat&context=G203f89cYFAAAAAAAAAg идёт в описание ссылки.
Собственно я в строке:
Код PHP:
$text=preg_replace_callback('/\bhttp:\/\/(?:[w]{3}\.)?(?:youtu)(?:be\.com\/(?:watch\?v=|user\/[a-z0-9]+#p\/u\/\d+\/)|.be\/)([-a-z0-9_]{8,})\w*\b/i','v',$text);}
подправил шаблон регулярных выражений на:
Код PHP:
$text=preg_replace_callback('/\bhttp:\/\/(?:[w]{3}\.)?(?:youtu)(?:be\.com\/(?:watch\?v=|user\/[a-z0-9]+#p\/u\/\d+\/)|.be\/)([-a-z0-9_]{8,})\b(?:[^\s]+)\w*/i','v',$text);
А так как у меня в tinymce почему то стали криво вставляться ссылки то есчё в 2ух местах поставил ">"
Возможно поправки немного кривоватые(так что кто знает прошу исправьте), но вроде работает:
Код PHP:
function v($k) {
return	'><embed height="400" width="600" align="center" type="application/x-shockwave-flash" src="http://www.youtube.com/v/'.$k[1].'"></embed>';}
function f_youtube(&$text){
$text=preg_replace_callback('/\>\bhttp:\/\/(?:[w]{3}\.)?(?:youtu)(?:be\.com\/(?:watch\?v=|user\/[a-z0-9]+#p\/u\/\d+\/)|.be\/)([-a-z0-9_]{8,})\b(?:[^\s]+)\w*/i','v',$text);
}
0
edd edd 10 лет назад #
Хороший фильт он работает на 1.10.3
0
SeoNick SeoNick 9 лет назад #
на 1.10.4 не работает, подскажите как внедрить.

Еще от автора

Вставка видео с YouTube одной строкой (1.10.3)
- Всегда волнуюсь, когда красная полоска на YouTube догоняет серую. (с) Плагин заменяет ссылку на видео с YouTube кодом плеера.
Вывод рекламного блока в статье (v1.10.3)
В нашем медицинском справочнике - только самые лучшие болезни. © Плагин вставляет код рекламы внутри контента.
Автоматическая вставка фотографий альбома в статьи и блоги (v1.10.3)
"Сходил на фотоохоту, завалил 7 горизонтов.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.