Доброго времени суток, уважаемые!
Сама суть вопроса:
Имеется форма на сайте из нескольких текстовых полей и полученные оттуда данные необходимо записать в базу mySql
Но перед записью эти данные нужно обработать (мы же за безопасный... этот самый). Но при этом
сохранить все знаки, чтобы потом можно было вывести данные на страницу html в исходном виде.
То есть, могучее и православное strip_tags не подходит.
Раскинув своим интеллектом класса "Чайник 0.2" и полазив по сети, я родил подобную конструкцию:
$_POST=str_replace( "\\\"" ,'"' ,$_POST);
$_POST=preg_replace( "/<script/i",' ',$_POST);
$_POST=str_replace( "<!--" ,'<!--',$_POST);
$_POST=str_replace( "-->" ,'-->' ,$_POST);
$_POST=str_replace( " " ,' ' ,$_POST);
$_POST=str_replace( "&" ,'&' ,$_POST);
$_POST=str_replace( ">" ,'>' ,$_POST);
$_POST=str_replace( "<" ,'<' ,$_POST);
$_POST=str_replace( "\"" ,'"',$_POST);
$_POST=preg_replace( "/\n\n/",'<p>' ,$_POST);
$_POST=preg_replace( "/\n/" ,'<br>' ,$_POST);
$_POST=preg_replace( "/\\\$/",'$',$_POST);
$_POST=preg_replace( "/\r/" ,'' ,$_POST);
$_POST=preg_replace( "/\\\/" ,'\',$_POST);
$_POST=str_replace("\r\n" ,"<br>", $_POST);
$_POST=str_replace("\n\n" ,'<p>',$_POST);
$_POST=str_replace("\n" ,'<br>',$_POST);
$_POST=str_replace("\t" ,'',$_POST);
$_POST=str_replace("\r" ,'',$_POST);
$_POST=str_replace(' ' ,' ',$_POST);
Но берут сомнения, как уж слишком монструозно получилось. Не подскажет ли кто-нибудь из профессионалов более разумное решение? Или может кто-нибудь поделится ссылкой на русский тутор именно по этому вопросу?
UPD
с записью БД просветили, огромное спасибо. (осталось разобраться о чем собственно просветили =))
Но всё же, вопрос остался. Допустим, данные пойдут не в БД, а куда то ещё. К примеру... ну, пусть в функцию mail().
Форма обратной связи, юзер что-то написал, и эти данные прямо сразу отправляются "админу". Как тогда?