Реализовал специальный тег spoiler, чтобы прятать куски текста. Работает при помощи новой возможности Jevix - cfgSetAutoPregReplace.

Круто, да?
Смысл в том, чтобы разобрать тег в определенном формате и разбить его на ссылку и скрытый блок. А затем показывать по клику.

Вот готовый рецепт: 1. Дописываем в правило cfgSetAutoPregReplace новую регулярку


// в первый массив правила
"\/<spoiler\\s{1,10}title=\"(.*)\">(.*)<\\\/spoiler>\/Uis"
// во второй
"<span class=\"spoiler_link\">$1<\/span><span class=\"spoiler\">$2<\/span>"

2. Разрешаем тег spoiler в правиле cfgAllowTags3. Добавляем обработку на jQuery


$(document).on('click', '.spoiler_link', function() {
    $(this).next('.spoiler').toggle();
        // можно убирать спойлер после клика
        //$(this).removeClass('spoiler_link');
})

4. и стиль CSS


.spoiler {display:none;}
.spoiler_link {border-bottom: 1px dashed #08C; cursor:pointer;}
.spoiler_link.active {border-bottom: none;}

Теперь можно использовать спойлеры вот так:


<spоiler title="Небольшая демонстрация">
    <prе>Круто, да?</prе>
</spоiler>

Этот пример не нужно копипастить - в нем поменяны английские "o" и "e" на русские, чтобы Jevix его не обработал.

← Предыдущая заметка
Как не чистить кэш всего сайта?
Следующая заметка →
Вывод тикетов пользователя
Комментарии (2)
it-developeВиталий Воропаев
02.12.2012 19:36

Да не плохо. Спасибо!

alexeytulaАлексей
15.04.2013 15:29

Вчера попробовал, работает!

Но вот если попробовать сделать 2 тега spoiler и video , то обломс. Обрабатывается только 1 из них! Таким образом спрятать видео под спойлер не получается...

bezumkin
Василий Наумкин
09.04.2024 01:45
Ошибка 500 Это не похоже на ошибку Nginx, это скорее всего ошибка PHP - надо смотреть его логи. Во...
futuris
Futuris
04.04.2024 05:56
Я просто немного запутался. Когда в абзаце &quot;Vesp/Core&quot; ты пишешь про &quot;новый trait Fil...
bezumkin
Василий Наумкин
20.03.2024 18:21
Volledig!
Андрей
14.03.2024 10:47
Василий! Как всегда очень круто! Моё почтение!
russelgal
russel gal
09.03.2024 17:17
А этот стоило написать хотя бы затем, чтобы получить комментарий от юзера, который ничего не писал ...
inetlover
Александр Наумов
27.01.2024 00:06
Василий, спасибо! Извини, тупанул.
bezumkin
Василий Наумкин
22.01.2024 04:43
Давай-давай!
bezumkin
Василий Наумкин
24.12.2023 11:26
Спасибо!
bezumkin
Василий Наумкин
27.11.2023 02:43
Ура!
bezumkin
Василий Наумкин
25.11.2023 08:30
Vesp тянет 2 зависимости: vesp-frontent для фронта и vesp-core для бэкенда. Их можно обновлять, но э...