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

Как задать допустимое кол-во смайликов в галерее и гостевой?

 

2536
удалён @crigon
А то заколебали уже

458
ridz @ridz
/* Фильтрирует текст - смайлы, теги, ссылки */
function filter(text) {
.......}
a=text.split('<').join(' <').split('>').join('> ').split(" ");
var img_max=3; /*максимальное количество смайлов */
for(k=0;k<a.length;k++) {
if(a[k].substr(0,7)=='http://') a[k]='<a href='+a[k]+' target=_blank>'+a[k]+'</a>';
for(j=0;j<sm.length;j++) {if(a[k]==sm[j][0]&&img_max>0) {a[k]='<img src='+smdir+sm[j][1]+'>';img_max-- }; if(a[k]==sm[j][0]&&img_max==0) {a[k]=''}};
}
text=a.join(' ');
return text;
}

Смайлы больше var img_max=3; ни текстом ни картинкой показываться не будут

2536
удалён @crigon
ridz, а что делать если нет sm?

for(k=0;k<a.length;k++) {
if(a[k].substr(0,7)=='http://') a[k]='<a href='+a[k]+' target=_blank>'+a[k]+'</a>';
a[k] = a[k].replace(/\*([0-9]{1,3})/,' <img src="img/smile/$1" onclick="sendto(this.title)" title=" *$1 " style="cursor: pointer; cursor: hand;" alt="" /> '); }

458
ridz @ridz
попробуй так
var img_max=3; /*максимальное количество смайлов */
for(k=0;k<a.length;k++) {
if(a[k].substr(0,7)=='http://') a[k]='<a href='+a[k]+' target=_blank>'+a[k]+'</a>';
if (/\*([0-9]{1,3})/.test(a[k])) {img_max--};
if (img_max>=0) {a[k] = a[k].replace(/\*([0-9]{1,3})/,' <img src="img/smile/$1" onclick="sendto(this.title)" title=" *$1 " style="cursor: pointer; cursor: hand;" alt="" /> '); }
else {a[k] = a[k].replace(/\*([0-9]{1,3})/,'')}

}

2536
удалён @crigon
ridz, работает, спасибо.

458
ridz @ridz
как вариант ещё небольшая добавка запрет на Ввод большего числа смайлов чем разрешено гостевая /* Вывод сообщений */

<TEXTAREA onKeyUp=zamena() onfocus="zamena()" name=message wrap=virtual rows=5 style='width:100%;'></TEXTAREA>
<script language="JavaScript" type="text/javascript">
function zamena()
{ var img_max=3; /*максимальное количество смайлов */
var text=document.form.message.value
a=text.split(" ");
for(k=0;k<a.length;k++) {if (/\*([0-9]{1,3})/.test(a[k])) {img_max--};
if(img_max<0) {a[k] = a[k].replace(/\*([0-9]{1,3})/,'')} };
text=a.join(' ');
text=text.replace(/\s+/gm,' ');
document.form.message.value=text }
</script>

637
zorro @zorro
а на форуме как поставить определенное количество смайлов?