Техническая поддержка сервиса Quadro.Boards

Объявление

Идет поиск Хранителя форума

Новости сервиса

О форуме

Quadro.Support – это форум технической поддержки различных проектов и сервисов Quadro.Systems LLC, на котором грамотные технические специалисты всегда смогут помочь вам в решении проблем, или же подсказать ответы на самые сложные вопросы. Так же на форуме собрана обширная база знаний по различным аспектам наших сервисов. Не забывайте пользоваться поиском ;)

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Техническая поддержка сервиса Quadro.Boards » Скрипты и дополнения » HTML в постах для определенных юзеров


HTML в постах для определенных юзеров

Сообщений 1 страница 11 из 11

1

Скрипт позволяет публиковать html в постах для пользователей, указанных в скрипте.
Для вставки html используется бб-код [html][/html] (если надо - можно добавить бб-код в панель).
Можно использовать какое угодно количество тегов [html] в посте.

Код:
<script>
    var allowed= new Array("sadhaka1111");
    var post, htmltext, htmltag, allow;
    function replacehtml(str, tag1, htmltext, tag2) {
        return htmltext.replace(/(&lt;)(.*?)(&gt;)/g,'<$2>')
                            .replace(/&quot;/g,'"');
    }

    if(document.URL.indexOf("viewtopic.php")!=-1){
        $('.post').each(function(){
            allow=0;
            post = $(this).find('.post-body');
            htmltag = /(\[html\])(.*?)(\[\/html\])/g;
            if ($.inArray($(this).find('.pa-author a').text(), allowed)!=-1) allow = 1; 
            if (allow && $(post).html().match(htmltag)!=null) {
               $(post).html($(post).html().replace(htmltag, replacehtml));
            }});}
    
</script>

Здесь, укажите тех пользователей, которым можно будет пользоваться данным тегом

var allowed= new Array("sadhaka1111", "admin", "moder");


Не разрешайте всем подряд пользоваться html на Вашем форуме! Будьте осторожны!

Если на Вашем форуме установлен скрипт смены имиджа, устанавливайте скрипт хтмл-а в постах раньше, скрипта смены имиджа.

+6

2

sadhaka
+
Уволок в свою копилку))

0

3

Спасибо! Отличный скрипт! А есть скрипт, который бы позволял вставлять в сообщения ява-скрипты? Пробовал сейчас опрос из VK вставить... Данный скрипт не поддерживает яву.

0

4

"Преступник №1"
Чисто теоретически - должно работать. Можете скинуть скрипт, который пытаетесь вставить? Гляну, в чем проблемы.

0

5

sadhaka написал(а):

"Преступник №1"
Чисто теоретически - должно работать. Можете скинуть скрипт, который пытаетесь вставить? Гляну, в чем проблемы.

Допустим, хочу вот этот пост вставить в сообщение:

Контакт выдает такой код для экспорта поста:

Код:
<div id="vk_post_4660500_9415"></div><script type="text/javascript">  (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//vk.com/js/api/openapi.js?116"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'vk_openapi_js'));  (function() {    if (!window.VK || !VK.Widgets || !VK.Widgets.Post || !VK.Widgets.Post("vk_post_4660500_9415", 4660500, 9415, 'uE3YeaaBoZBwK47PA7QpQ1ySeA', {width: 500})) setTimeout(arguments.callee, 50);  }());</script>

0

6

Или, например, опрос из Контакта хочу в сообщение форума вставить. Вот этот код:

Код:
<!-- Put this script tag to the <head> of your page -->
<script type="text/javascript" src="//vk.com/js/api/openapi.js?116"></script>
<!-- Put this div tag to the place, where the Poll block will be -->
<div id="vk_poll"></div>
<script type="text/javascript">
VK.Widgets.Poll("vk_poll", {width: 300}, "161107885_c1cb5d151be1cc5951");
</script>

0

7

"Преступник №1"
немного подправила скрипт

Код:
<script>
    var allowed= new Array("sadhaka1111","kris1111");
    var post, htmltext, htmltag, allow;
    function replacehtml(str, tag1, htmltext, tag2) {
        return htmltext.replace(/(&lt;)(.*?)(&gt;)/g,'<$2>')
                            .replace(/&quot;/g,'"')
                            .replace(/&nbsp;/g,' ');
    }

    if(document.URL.indexOf("viewtopic.php")!=-1){
        $('.post').each(function(){
            allow=0;
            post = $(this).find('.post-body');
            htmltag = /(\[html\])(.*?)(\[\/html\])/g;
            if ($.inArray($(this).find('.pa-author a').text(), allowed)!=-1) allow = 1; 
            if (allow && $(post).html().match(htmltag)!=null) {
               $(post).html($(post).html().replace(htmltag, replacehtml));
            }});}
    
</script>

+1

8

Отлично! Спасибо большое! Все работает! :cool:

0

9

Скрытый текст:

Для просмотра скрытого текста - войдите или зарегистрируйтесь.

0

10

Ichimaru Gin написал(а):

Хотелось бы исправить:
скрипт создаёт теги <br> по количеству переносов строк в хтмл, не понимает <style> и некоторые скрипты.

Это сервис создает, а не скрипт. Конкретно в этом скрипте исправить создание лишних <br> крайне сложно, ибо никак их не отличишь от нужных <br>. В тегах [code], которые использует Дефф в своем скрипте, сервис не создает лишней разметки.

0

11

sadhaka
Ни наю, нун потестить, возможно, удастся что-то сделать
В Принципе так должно работать:

<script>
(function(){
    var allowed= new Array("sadhaka1111","kris1111");
    var post, htmltext, htmltag, allow;
    function replacer2(str,p1,s,offset){return p1.replace(/<br.*>/g,'');}
    function replacehtml(str, tag1, htmltext, tag2) {
        return htmltext.replace(/(&lt;)(.*?)(&gt;)/g,'<$2>')
                            .replace(/&quot;/g,'"')
                            .replace(/&nbsp;/g,' ')
                            .replace(/(<style.*>.*<\/style>)/mgi,replacer2)
                            .replace(/(<script.*>.*<\/script>)/mgi,replacer2);
    }

    if(document.URL.indexOf("viewtopic.php")!=-1){
        $('.post').each(function(){
            allow=0;
            post = $(this).find('.post-body');
            htmltag = /(\[html\])(.*?)(\[\/html\])/g;
            if ($.inArray($(this).find('.pa-author a').text(), allowed)!=-1) allow = 1;
            if (allow && $(post).html().match(htmltag)!=null) {
               $(post).html($(post).html().replace(htmltag, replacehtml));
            }
        });
    }
})();
</script>

0


Вы здесь » Техническая поддержка сервиса Quadro.Boards » Скрипты и дополнения » HTML в постах для определенных юзеров


Рейтинг форумов | Создать форум бесплатно © 2007–2016 «QuadroSystems» LLC