Обработка текста. правильно ли я делаю?

Valensia

Guest
Обработка текста. правильно ли я делаю?

Подскажите мне правильно ли я обрабатываю текст вводимый пользователем гостевой. Может еще какую-то проверку надо сделать?
PHP:
$name=htmlspecialchars(trim(substr($_POST['name'], 0, 25))); 
$email=htmlspecialchars(trim(substr($_POST['email'], 0, 35))); 
$content=htmlspecialchars(nl2br(trim($_POST['text']))); 
$content = preg_replace("/[ ]{2,}/", " ", $content); 
$mas=explode(" ", $content); 
for($i=0; $i<=count($mas)-1; $i++) 
    { 
        if(strlen($mas[$i])>50) 
            { $mas[$i]=substr($mas[$i], '0', 50); } 
    }     
$content=implode(' ', $mas);
//Далее идет вставка єтих полей в бд
 

zap

Guest
проверку сетчатки глаза и отпечатков пальцев
 

docker

Новичок
> $content=htmlspecialchars(nl2br(trim($_POST['text'])));

Не надо делать nl2br перед сохраненем в базу, а то количесто <br> -ок после каждого редактирования и сохранения у тебя может очень вырасти.

nl2br надо делать после выборки этих данных из бд для вывода их на странице.
 

Valensia

Guest
Спасибо docker!
Насколько безопасна такая обработка текста? я слышал что сайты в основном ломают из-за кривых гостевух. Мой код в этом плане как?
 

Нечто

Психолог РНРClub
Вместо htmlspecailchars() при вставке в базу нужно использовать mysql_escape_string(), а первую - только при выводе.
Для разбивки по словам есть strtok().
 

Valensia

Guest
mysql_escape_string - при выводе из базы остаются слеши они не пропадают. Значит на выходе нужно использовать stripslashes() ?

И еще:
помогите написать регулярное выражение чтобы заменять больше 2х переводов строки на 1 перевод
 

Фанат

oncle terrible
Команда форума
mysql_escape_string - при выводе из базы остаются слеши они не пропадают. Значит на выходе нужно использовать stripslashes() ?
PHP FAQ: \"Кавычки \". Cоставление запросов mysql, слеши, экранирование кавычек.
Это ты должен был прочитать ДО того как начал писать сюда вопрос. Об этом тебе недвусмыслнно написали в правилах. Если ты удосужился их прочитать.
помогите написать регулярное выражение чтобы заменять больше 2х переводов строки на 1 перевод
там в факе есть и про регулярные.
Читай, учись, пробуй. проявлятся вопросы - задавай.
 
Сверху