€
$
₴
₽
EN
RU
Vmeste.EU
Лента
Каталог
Файлы
Форумы
Услуги
Основное
Radiotalk
Пользовательское
MPCHAT - CMS хостинг чатов для профессионалов
90 •
Посмотреть все темы
Как допилить Видео VK для форума.
1
1163
Денис
@Анатолич
27.10.2013
Сейчас на форуме стоит такой код для вывода видео с сайта Вконтакте.
Показать текст
/* Фильтрирует текст - смайлы, теги, ссылки, картинки */
/* img_max - макс. картинок к отображению в одном сообщении вместо ссылок */
var message_img_max=25; /* сообщение */
var signature_img_max=0; /* подпись */
var video_max=5;//максимальное число видероликов в сообщении
var BK_max=5;//максимальное число видероликов из контакта в сообщении
function filter(text,img_max) { var img_c=0;var video_c=0;var BK_c=0;
a=text.split("[code
1
]"); for(k=1;k<a.length;k++) {a1=a[k].split("[/code
1
]
");a1[0]=a1[0].replace(/\[/g,'['); a[k]=a1.join('[/code
1
]');} text=a.join('[code
1
]'); //подготовка для code
for(k=0;k<etags.length;k++) {
if(etags[k][2])
while(text.search(etags[k][0])>=0) {
if(etags[k][1].search("<img")!=-1) {if(img_c<img_max) img_c++; else break; }
text = text.replace(etags[k][0],etags[k][1]);
}
else text = text.replace(etags[k][0],etags[k][1]);
}
text=" "+text+" "; text=text.replace(/( |>)((ftp|https?):\/\/[^ "]+?)(?= |<)/g,'$1<a href="$2" target=_blank>$2</a>'); //автозамена ссылок
var vkon='<iframe src="';
var vkon1='" width="607" height="360" frameborder="0"></iframe>';
text=text.replace (vkon, "[BK]");
text=text.replace (vkon1, "[/BK]");
a=text.split(" "); for(k=0;k<a.length;k++) {for(j=0;j<sm.length;j++) if(a[k]==sm[j][0]) a[k]='<img src='+smdir+sm[j][1]+'>';}
text=a.join(' '); //замена смайлов
while(text.search(/\[video\](.*?)\[\/video\]/g)>=0){t=text.split('[video]'); if(t[1]) {t2=t[1].split('[/video]');video_c++; if(t2[0]&&video_max>=video_c) { var ss2009=t2[0].replace("watch?v=", "v/");ss400='src="'+ss2009+'&hl=ru&fs=1"';text=text.replace('[video]'+t2[0]+'[/video]','<embed '+ss400+' type=application/x-shockwave-flash allowscriptaccess=always allowfullscreen=true width=685 height=410></embed>') } else {text=text.replace('[video]'+t2[0]+'[/video]','');}}};
while(text.search(/\[BK\](.*?)\[\/BK\]/g)>=0){t=text.split('[BK]'); if(t[1]) {t2=t[1].split('[/BK]');BK_c++; if(t2[0]&&BK_max>=BK_c&&(text.split('video_ext.php?oid=').length>1)) {text=text.replace('[BK]'+t2[0]+'[/BK]','<iframe src='+t2[0]+' width="685" height="410" frameborder="0"></iframe>') } else {text=text.replace('[BK]'+t2[0]+'[/BK]','');}}};
return text;
}
рыжее не нужно. Но без него не могу загрузить на этот форум. (совпадение тегов).
Зеленое отвечает за вывод видео из Контакта. Но для того чтобы его загрузить. Нужно скопировать в блокнот код для вставки.
Отыскать в коде урл. аккуратно вырезать его, поставить теги спец кнопкой. и между тегами вставить урл. И нигде не допустить ошибки.
Для простых пользователей это слишком сложно.
Хотелось бы упростить им задачу.
Чаще всего код для видео из ВК выглядит так
<iframe src="http://vk.com/video_ext.php?oid=-19954757&id=159781846&hash=45a9b0563ea444f4" width="607" height="360" frameborder="0"></iframe>
То есть код неизменен. меняется только урл. Вот и попробовал отбросить лишнее (выделено красным).
Но то что выделено красным не работает совсем. Помогите найти ошибку плиз.
Или подскажите альтернативное решение для форума, чтобы срабатывал код для вставки видео Из VK без ввода дополнительных тегов.
Желательно с фильтрацией количества роликов.
1007
BETEPAH
@BETEPAH
28.10.2013
Красное не работает скорее всего из-за того, что движок по идее должен ради безопасности заменять спецсимволы на их текстовый вид, чтоб злоумышленники не смогли вставлять свои вредоносные коды.
Например, "<" заменять на "<" и т.д. Соответственно, скрипт просто не находит вот этого
vkon='<iframe src="';
Поставьте перед console.log(text), отправьте сообщение с кодом ифрейма и посмотрите в консоли, что в итоге дошло до форума. Оттуда и пляшите.
P.S. и в вашем случае, если не хотите разбираться с регулярными выражениями, я бы рекомендовал заменять
'<iframe src="http://vk.com/'
на
'[BK]http://vk.com/'
чтоб исключить срабатывание скрипта на не вконтактовских ифреймах
Отредактировано BETEPAH -
28.10.2013