Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Хаки Как запретить вставлять в поиске спец символы?

Как запретить вставлять в поиске спец символы?


     05.12.2012    Хаки    2770

вопрос
Люди подскажите как запретить вставку в поиск скобки. Если вставляю, то ломает шаблон, то есть одна и та же новость выходит в поиске по разному! (без скобок все нормально ищет) Возможно ли, что косяк в файлах движка был при обновлениях? сейчас версия 9.7
Я так понимаю если есть скобки должно просто выдавать, поиск задан неверно.

Ответил: BR0kEN


Открыть /engine/modules/search.php, найти строку:
        if( (empty( $story ) or ($story_maxlen < $config['search_length_min'])) and (empty( $searchuser ) or (strlen( $searchuser ) < $config['search_length_min'])) ) {

и выше вставить:
        if( preg_match( "/[()\/]/", $story ) ) {
        
            msgbox( $lang['all_info'], "В поле поиска введен запрещенный символ \"(\" или \")\"" );
            
            $tpl->set( '{searchmsg}', '' );
            $tpl->set_block( "'\[searchmsg\](.*?)\[/searchmsg\]'si", "" );
            $tpl->compile( 'content' );
            
        } else {

затем найти:
                    } // Результаты поиска в статьях и комментариях
                } // while
                

                $tpl->clear();
                $db->free( $sql_result );
            }
        }

и ниже добавить:
}

Комментарии пользователей (3)

G-Force
6

161 | 45

G-Force - 6 декабря 2012 14:59 - Юзер

Такая же проблема

rabidabi
43 | 39

rabidabi - 7 декабря 2012 14:31 - Юзер

Спасибо! очень помогло. Написал разработчикам они в последней версии правили разрешение на поиск слов со спец символами! Сказали подумают как поправить.

rabidabi
43 | 39

rabidabi - 7 декабря 2012 15:14 - Юзер

разработчики поправили! сказали, что "Это был баг в подсветке слов в найденных результатах" не знаю что именно сделали.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы