[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Жесткая фильтрация текста
maximka787
Парни, можно ли считать данную фильтрацию бронебойной?
Цель: юзер оставляет комменты в одном важном разделе сайта. Нужно, чтоб кроме текста (слов,букв и знаков пр.) ничего не сохранялось.
Из неудобств: игнорируем желание юзера переносить строки. Остальное жестко фильтруется. Я в регулярках не очень силен, вот и хочу ваше мнение узнать.

function clear_text($text){

$text = strip_tags($text);
$text = preg_replace('/[^a-zа-яё\-\—\!\%\(\)\.\,\@\"\:\s\d]/ui', '', $text);
$text = preg_replace("/(\s){2,}/u", " ",$text); //удаляем пробелы и переносы
$text = preg_replace('/([^\s]{50})/u' , "$1 ", $text); //длинные слова разделяем пробелом

return $text;

}


_____________
..Работает - не трогай!
inpost
А зачем запрещать символы?
Почему я не могу в теме сказать, что 5 < 6 ?

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
maximka787
Цитата (inpost @ 3.06.2015 - 14:53)
А зачем запрещать символы?

Чтобы был абзацный текст. Причем одним абзацем. Это задумка такая. Бывают сайты где люди отзывы оставляют.

_____________
..Работает - не трогай!
AllesKlar
maximka787
Цитата
$text = preg_replace("/(\s){2,}/u", " ",$text); //удаляем пробелы и переносы

тыиздеваешьсячтоли,какэточитатьпотомбудут?

_____________
[продано копирайтерам]
Invis1ble
Цитата (AllesKlar @ 3.06.2015 - 17:55)
maximka787
Цитата
$text = preg_replace("/(\s){2,}/u", " ",$text); //удаляем пробелы и переносы

тыиздеваешьсячтоли,какэточитатьпотомбудут?
maximka787
Мне главное понять, нельзя ли какие то символы добавить, чтоб сломать регулярное выражение и оно пропустило ошибку, или такнебывает?

_____________
..Работает - не трогай!
inpost
maximka787
И что мешает в абзаце поместить фразу. содержащую символы < или > ?

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.