Цель: юзер оставляет комменты в одном важном разделе сайта. Нужно, чтоб кроме текста (слов,букв и знаков пр.) ничего не сохранялось.
Из неудобств: игнорируем желание юзера переносить строки. Остальное жестко фильтруется. Я в регулярках не очень силен, вот и хочу ваше мнение узнать.
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;
}
_____________
..Работает - не трогай!