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

Как вывести символы (&,!) в тегах?


     16.09.2015    Общие вопросы    719

вопрос
При добавлении новости пишу в тегах слово с символом & или ! из-за этого новость не добавляется. Как исправить?

Ответа пока нет


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

Proff
1

126 | 28

Proff - 16 сентября 2015 15:36 - Юзер

А пишет что? Вообще была подобная проблема на версиях 10.3 и 10.4 с исходным кодом, мод секьюрити мешал. (ссылка)

dominika
27

dominika - 16 сентября 2015 15:44 - Юзер

Немного не верно вопрос написал. Новость добавляется без ошибки, но тег просто пропадает, как будто его вообще не писал. dle 10.1

misha-koder
7

299 | 77

misha-koder - 16 сентября 2015 16:32 - Юзер


/engine/inc/addnews.php
/engine/inc/editnews.php
/engine/modules/addnews.php

в этих файлах есть следующая строка

if( @preg_match( "/[\||\<|\>|\"|\!|\?|\$|\@|\/|\\\|\&\~\*\+]/", $_POST['tags'] ) ) $_POST['tags'] = "";

находите её, удаляете из регулярки нужные вам символы и готово.

dominika
27

dominika - 16 сентября 2015 17:24 - Юзер

Если удалить восклицательный знак, нужно удалить это?
|\!

А если вообще всю строку удалить, плохого ни чего не будет? Зачем она вообще нужна?

vitnet
218

2171 | 930

vitnet - 16 сентября 2015 17:49 - Эксперт

Дабы уберечь вас от XSS-атак.

misha-koder
7

299 | 77

misha-koder - 16 сентября 2015 17:50 - Юзер

Как вы, наверное, знаете, в DLE есть фильтрация новостей по тегу (/tags/TAG-NAME/). Так вот эта строка проверяет наличие лишних символов, которые могут препятствовать работе этого функционала. Если фильтрация по тегу вам не требуется, можете удалять хоть некоторые символы из регулярки, хоть всю строку и следующий за ней else.

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

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