ОсновноеRadiotalkПользовательское
MPCHAT - CMS хостинг чатов для профессионалов
90   •   Посмотреть все темы

[play] и форум

 

35
Квинт @Квинт
Хочу добавить тег здфн в форум? Кто поможет?

etags[i]=new Array(/\[play\](https?:\/\/[^ "]+?)\[\/play\]/,'<a href="$1" target=_blank>Проиграть mp3</a>');i++; В данном случае ссылка на mp3 открывается в новой вкладке, как сделать, чтобы появлялся плеер, а не ссылка в форуме?

596
Сергей @Князь_Пипецкий
Вот это - target=_blank и есть команда открыть новую страницу.

наверное нужно так?

etags[i]=new Array(/\[play\](https?:\/\/[^ "]+?)\[\/play\]/,'<a href="$1" >Проиграть mp3</a>');i++;

35
Квинт @Квинт
Ну это понятно) Но мне не то нужно, мне нужно чтобы проигрыватель в сообщении был, а не открывался по нажатии на ссылку! Это я пример с сылкой привел, а нужно чтобы через теги был! Как мы в чат отправляем музыку и оттуда же слушаем

596
Сергей @Князь_Пипецкий
Обработчик:

while(text.search(/\[play\](.*?)\[\/play\]/g)>=0){t=text.split('[play]'); if(t[1]) {t2=t[1].split('[/play]'); if(t2[0]) {var autostart='false'; text=text.replace('[play]'+t2[0]+'[/play]','<embed type="application/x-shockwave-flash" src="http://mpchat.com/blank/player.swf" allowfullscreen="false" flashvars="file='+t2[0]+'&autostart='+autostart+'" width="250" height="20">');} else text=text.replace('[play]'+t2[0]+'[/play]','')}};
Кнопка для вставки тега:

tags+="<input title='Плеер для mp3' class=ok type=button value='Mp3' onclick=ftags('[play]','[/play]')> ";

Отредактировано Князь_Пипецкий - 05.07.2013
35
Квинт @Квинт
Князь_Пипецкий пишет:

tags+="<input title='Плеер для mp3' class=ok type=button value='Mp3' onclick=ftags('[play]','[/play]')> ";

Эту кнопку я воткнул) Но не в ней дело) А в самом теге! Посмотри, я его ссылкой прописал, а нужно на плеер прописать!

596
Сергей @Князь_Пипецкий
😀
Еще раз:
while(text.search(/\[play\](.*?)\[\/play\]/g)>=0){t=text.split('[play]'); if(t[1]) {t2=t[1].split('[/play]'); if(t2[0]) {var autostart='false'; text=text.replace('[play]'+t2[0]+'[/play]','<embed type="application/x-shockwave-flash" src="http://mpchat.com/blank/player.swf" allowfullscreen="false" flashvars="file='+t2[0]+'&autostart='+autostart+'" width="250" height="20">');} else text=text.replace('[play]'+t2[0]+'[/play]','')}};
Вот этот код воткните туда, где обработчики остальных медиа-тегов.

35
Квинт @Квинт
Князь_Пипецкий пишет:

😀
Еще раз:
while(text.search(/\[play\](.*?)\[\/play\]/g)>=0){t=text.split('[play]'); if(t[1]) {t2=t[1].split('[/play]'); if(t2[0]) {var autostart='false'; text=text.replace('[play]'+t2[0]+'[/play]','<embed type="application/x-shockwave-flash" src="http://mpchat.com/blank/player.swf" allowfullscreen="false" flashvars="file='+t2[0]+'&autostart='+autostart+'" width="250" height="20">');} else text=text.replace('[play]'+t2[0]+'[/play]','')}};
Вот этот код воткните туда, где обработчики остальных медиа-тегов.

ДА пробовал я)) Нету))

596
Сергей @Князь_Пипецкий
У меня работает 🤔

35
Квинт @Квинт
etags[i]=new Array(/\[sup\](.*?)\[\/sup\]/g,'<sup>$1</sup>');i++;
etags[i]=new Array(/\[hr\]/g,'<hr>');i++;
etags[i]=new Array(/\[left\](.*?)\[\/left\]/g,'<div style="float:left;padding: 4px 10px;">$1</div>');i++;
etags[i]=new Array(/\[right\](.*?)\[\/right\]/g,'<div style="float:right;padding: 4px 10px;">$1</div>');i++;

while(text.search(/\[play\](.*?)\[\/play\]/g)>=0){t=text.split('[play]'); if(t[1]) {t2=t[1].split('[/play]'); if(t2[0]) {var autostart='false'; text=text.replace('[play]'+t2[0]+'[/play]','<embed type="application/x-shockwave-flash" src="http://mpchat.com/blank/player.swf" allowfullscreen="false" flashvars="file='+t2[0]+'&autostart='+autostart+'" width="250" height="20">');} else text=text.replace('[play]'+t2[0]+'[/play]','')}};

etags[i]=new Array(/\[img\](https?:\/\/[^ "]+?)\[\/img\]/,'<img src="$1" border=0 style="position:relative;">',1);i++; //одноразовая замена для лимита
etags[i]=new Array(/\[url=((ftp|https?):\/\/[^ "]+?)\](.*?)\[\/url\]/g,'<a href="$1" target=_blank>$3</a>');i++;
etags[i]=new Array(/\[url\]((ftp|https?):\/\/[^ "]+?)\[\/url\]/g,'<a href="$1" target=_blank>$1</a>');i++;
etags[i]=new Array(/\[email=([A-z0-9._-]+\@[A-z0-9.-]+?)\](.*?)\[\/email\]/g,'<a href="mailto:$1" target=_blank>$2</a>');i++;






Сюда ты имеешь ввиду?

35
Квинт @Квинт
можно ссылку на ваш форум, если у вас работает))

596
Сергей @Князь_Пипецкий
Квинт пишет:

etags[i]=new Array(/\[sup\](.*?)\[\/sup\]/g,'<sup>$1</sup>');i++;
etags[i]=new Array(/\[hr\]/g,'<hr>');i++;
etags[i]=new Array(/\[left\](.*?)\[\/left\]/g,'<div style="float:left;padding: 4px 10px;">$1</div>');i++;
etags[i]=new Array(/\[right\](.*?)\[\/right\]/g,'<div style="float:right;padding: 4px 10px;">$1</div>');i++;

while(text.search(/\[play\](.*?)\[\/play\]/g)>=0){t=text.split('[play]'); if(t[1]) {t2=t[1].split('[/play]'); if(t2[0]) {var autostart='false'; text=text.replace('[play]'+t2[0]+'[/play]','<embed type="application/x-shockwave-flash" src="http://mpchat.com/blank/player.swf" allowfullscreen="false" flashvars="file='+t2[0]+'&autostart='+autostart+'" width="250" height="20">');} else text=text.replace('[play]'+t2[0]+'[/play]','')}};

etags[i]=new Array(/\[img\](https?:\/\/[^ "]+?)\[\/img\]/,'<img src="$1" border=0 style="position:relative;">',1);i++; //одноразовая замена для лимита
etags[i]=new Array(/\[url=((ftp|https?):\/\/[^ "]+?)\](.*?)\[\/url\]/g,'<a href="$1" target=_blank>$3</a>');i++;
etags[i]=new Array(/\[url\]((ftp|https?):\/\/[^ "]+?)\[\/url\]/g,'<a href="$1" target=_blank>$1</a>');i++;
etags[i]=new Array(/\[email=([A-z0-9._-]+\@[A-z0-9.-]+?)\](.*?)\[\/email\]/g,'<a href="mailto:$1" target=_blank>$2</a>');i++;






Сюда ты имеешь ввиду?

Нет, не сюда.

Вот:

/* Фильтрирует текст - смайлы, теги, ссылки, картинки */

и далее:

/* img_max - макс. картинок к отображению в одном сообщении вместо ссылок */
var message_img_max=3; /* сообщение */
var signature_img_max=0; /* подпись */
var hide_div=0;
var video_max=3;//максимальное число видероликов в сообщении
function filter(text,img_max) { var video_c=0;
var video_c=0;
var img_c=0;
for(k=0;k<atags.length;k++) {
if(!atags[k][0]) continue;
tag1='['+atags[k][0]+']'; btag1='[/'+atags[k][0]+']';
btag2=atags[k][1].split(" ")[0].split(">");btag2=btag2[0].substr(1);
tag2=atags[k][1];btag2='</'+btag2+'>';
max=0;while (text.indexOf(tag1)>=0 && max<10) {text = text.replace(tag1, tag2);max++;}
max=0;while (text.indexOf(btag1)>=0 && max<10) {text = text.replace(btag1, btag2);max++;}
}
a=text.split('<br>').join(' <br> ').split(' ');
for(k=0;k<a.length;k++) {
if(a[k].match(/^http:\/\/[0-9a-z.\/_-]+\.(gif|jpg|jpeg|bmp|png)/i) && img_c<img_max) {a[k]='<a href='+a[k]+' target=_chat><img src='+a[k]+' onload="imgminimum(this)" title="Открыть в полном размере" border=0 style=position:relative;></a>';img_c++;}
else if(a[k].substr(0,7)=='http://') a[k]='<a href='+a[k]+' target=_chat>'+a[k]+'</a>';
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(/\[hide\](.*?)\[\/hide\]/g)>=0){ t=text.split('[hide]'); if(t[1]) {t2=t[1].split('[/hide]');hide_div++; if(t2[0]&&mynick) { text=text.replace('[hide]'+t2[0]+'[/hide]','<a href=# onclick="obj=document.getElementById(\'s'+hide_div+'\'); obj.style.display=(obj.style.display==\'none\')? \'block\':\'none\'; return false;">+ Скрытый текст</a><div id=s'+hide_div+' style="display:none;">'+t2[0]+'</div>') } else {text=text.replace('[hide]'+t2[0]+'[/hide]','+ Скрытый текст только для зарегистрированных');}}};

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=300 height=250></embed>') } else {text=text.replace('[video]'+t2[0]+'[/video]','');}}}

while(text.search(/\[play\](.*?)\[\/play\]/g)>=0){t=text.split('[play]'); if(t[1]) {t2=t[1].split('[/play]'); if(t2[0]) {var autostart='false'; text=text.replace('[play]'+t2[0]+'[/play]','<embed type="application/x-shockwave-flash" src="http://mpchat.com/blank/player.swf" allowfullscreen="false" flashvars="file='+t2[0]+'&autostart='+autostart+'" width="250" height="20">');} else text=text.replace('[play]'+t2[0]+'[/play]','')}};

return text;
}

Отредактировано Князь_Пипецкий - 05.07.2013
35
Квинт @Квинт
Ай спасибо тебе мил человек)))

35
Квинт @Квинт
Еще вопрос по форуму и в этой же фильтрации как прописать цвета свои?

4619
Web3r @Web3r
Заменить value и style на своё значение.
tags+="<select class=ok onchange='if(this.value) ftags(\"[color=\"+this.value+\"]\",\"[/color]\"); this.value=\"\";'><option value=''>-=цвет=-</option>";
tags+="<option value=red style='color:red'>красный</option>";
tags+="<option value=orange style='color:orange'>оранжевый</option>";
tags+="<option value=gray style='color:gray'>серый</option>";

35
Квинт @Квинт
Web3r пишет:

Заменить value и style на своё значение.
tags+="<select class=ok onchange='if(this.value) ftags(\"[color=\"+this.value+\"]\",\"[/color]\"); this.value=\"\";'><option value=''>-=цвет=-</option>";
tags+="<option value=red style='color:red'>красный</option>";
tags+="<option value=orange style='color:orange'>оранжевый</option>";
tags+="<option value=gray style='color:gray'>серый</option>";


Пробовал! Прописывает теги чисто...

2615
Сергей @Pegass
Квинт пишет:

Web3r пишет:

Заменить value и style на своё значение.
tags+="<select class=ok onchange='if(this.value) ftags(\"[color=\"+this.value+\"]\",\"[/color]\"); this.value=\"\";'><option value=''>-=цвет=-</option>";
tags+="<option value=red style='color:red'>красный</option>";
tags+="<option value=orange style='color:orange'>оранжевый</option>";
tags+="<option value=gray style='color:gray'>серый</option>";


Пробовал! Прописывает теги чисто...

вероятно ты там какую-то уйню написал или думаешь что должны цвета в старых сообщениях измениться, третьего не дано

35
Квинт @Квинт
Pegass пишет:

Квинт пишет:

Web3r пишет:

Заменить value и style на своё значение.
tags+="<select class=ok onchange='if(this.value) ftags(\"[color=\"+this.value+\"]\",\"[/color]\"); this.value=\"\";'><option value=''>-=цвет=-</option>";
tags+="<option value=red style='color:red'>красный</option>";
tags+="<option value=orange style='color:orange'>оранжевый</option>";
tags+="<option value=gray style='color:gray'>серый</option>";


Пробовал! Прописывает теги чисто...

вероятно ты там какую-то уйню написал или думаешь что должны цвета в старых сообщениях измениться, третьего не дано

Напиши как правильно) Один пример допустим цвет FDD123

так
tags+="<option value=FDD123 style='color:FDD123'>цвет</option>";
так
tags+="<option value='FDD123' style='color:FDD123'>цвет</option>";
или так может?
tags+="<option value=FDD123 style='color:#FDD123'>цвет</option>";

Отредактировано Квинт - 05.07.2013
4619
Web3r @Web3r
option value='#FDD123'?
Для старых месаг можно css: <style>font[color="red"]{color:#...}</style>

Отредактировано Web3r - 05.07.2013
2615
Сергей @Pegass
Web3r пишет:

option value='#FDD123'?
Для старых месаг можно css: <style>font[color="red"]{color:#...}</style>

вот вот, с решёткой
tags+="<option value='#FDD123' style='color:#FDD123'>цвет</option>"

Отредактировано Pegass - 05.07.2013
35
Квинт @Квинт
Pegass пишет:

Web3r пишет:

option value='#FDD123'?
Для старых месаг можно css: <style>font[color="red"]{color:#...}</style>

вот вот, с решёткой
tags+="<option value='#FDD123' style='color:#FDD123'>цвет</option>"

Не прокатило)))