» » » » ББ-коды в имени спойлера dle

Подробное содержание постаББ-коды в имени спойлера dle

Голосов: 0
Исправить такой баг совершенно не сложно, но почему то разработчики DLE оставили его без внимания. Зато разработчик дополнений для CMS DataLife Engine, MSW придумал решение и исправил обработку BB-кодов в движке при помощи небольшого хака...

Инструкция:
Открываем файл: /engine/classes/parse.class.php, находим и вырезаем (предварительно скопировав код):

Для DLE 9.7
        $count_start = substr_count ($source, "[spoiler");
        $count_end = substr_count ($source, "[/spoiler]");

        if ($count_start AND $count_start == $count_end) {
            $source = str_ireplace( "[spoiler=]", "[spoiler]", $source );

            if ( !$this->allow_code ) {
                $source = preg_replace( "#\[spoiler\](.+?)\[/spoiler\]#ies", "\$this->clear_div_tag(array('title' => '', 'txt' => '\\1'), 'spoiler')", $source );
                $source = preg_replace( "#\[spoiler=(.+?)\](.+?)\[/spoiler\]#ies", "\$this->clear_div_tag(array('title' => '\\1', 'txt' => '\\2'), 'spoiler')", $source );
            }

            $source = preg_replace( "#\[spoiler\]#ie", "\$this->build_spoiler('')", $source );
            $source = preg_replace( "#\[spoiler=(.+?)\]#ie", "\$this->build_spoiler('\\1')", $source );
            $source = preg_replace( "#\[/spoiler\]#i", "<!--spoiler_text_end--></div><!--/dle_spoiler-->", $source );

        }

Далее находим:
if( $this->allow_url ) {

И выше добавляем, ранее вырезанный код!

Такими манипуляциями мы сделали сначала обработку кодов форматирования текста, а уже после обработку спойлера.

Теперь давайте вырежем эти коды форматирования из названия спойлера.
В том же файле находим:
    function build_spoiler($title = "") {
        global $lang;
        
        $title = trim( $title );

Добавляем ниже:
#*** FIX Title Spoiler by MSW * start ***#
        $title = strip_tags( $title );
#*** FIX Title Spoiler by MSW * stop  ***#

После этого в админке DLE нужно запустить перестроение публикаций, для внесения изменений во все старые новости.

Версия DLE: 9.*
Автор хака: MSW
Сайт автора хака:
  • Название: ББ-коды в имени спойлера dle
  • Версия CMS:

Информация о статье

Облоко тегов

DLE 9.0, DLE 9.2, DLE 9.3, DLE 9.4, DLE 9.5, DLE 9.6, DLE 9.7

Добавить комментарий

Имя:*
E-Mail:
Полужирный Наклонный текст Подчёркнутый текст Зачёркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Вставка ссылкиВставка защищённой ссылки Картинка Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Введите код: *