Вы понимаете, что делает каждая строка в вашей найденной супер-функции?
// убираем концевые пробельные знаки (пробел, таб, переводы строк и т.п)
$value = trim( $value );
// преобразуем строку в строку, да еще с подавлением ошибки O_O. Даже не знаю что сказать
@strval($value)
// убираем все символы кроме кодов с 20 (пробел) по FF
$value = preg_replace("/[^\x20-\xFF]/","",@strval($value));
// Убираем html теги
$value = strip_tags( $value );
Вот теперь сами и скажите –
вам всё это нужно делать?
Пользователь может через форму, обрабатываемую таким образом, загрузить вредоносный код?
Тут нужно понять, что вы имеете ввиду под вредоносным кодом.
SQL инъекции тут не будет.
HTML код загрузить можно. И если вы не будете его обрабатывать
при выводе на страницу, он сработает (там может быть какой-то js скрипт).
Но это совершенно не значит, что вам нужно искать какую-то мега-универсальную функцию очистки данных.
Всегда нужно смотреть по ситуации. Например, в форме комментирования могут быть разрешен некоторый набор html тегов для форматирования сообщения (как, например, на этом сайте), и применять не глядя strip_tags ко входным данным, будет ошибкой.
На международном сайте могут регистрироваться люди с именами, включающими символы, которые вы запретили (
/[^\x20-\xFF]/
).
Короче, ко всему и всегда нужно подходить с умом.
И никогда не копипасти код из интернета, если не понимаешь каждую строчку.