Как решить проблему с экронированием?

R
На сайте с 03.08.2012
Offline
131
377

Здравствуйте! Делаю доску объявлений. Но столкнулся с некой проблемой. Хочу услышать грамотное её решение:) Буду очень благодарен за помощь!

Вот когда создают объявление, вписывают в поле описание текс.

Перед отправкой в бд я обрабатываю функциями:

$this->text = $mysqli->real_escape_string($this->text);

$this->text = htmlspecialchars($this->text);

Но когда естественно в бд добавляется со всякими лишними символами // и переносами строк /n

Вместо такого текста:

проверка

проверка
________________________________________________________________________________________________________________
""

Выводится такой:

проверка\nпроверка\n________________________________________________________________________________________________________________\n\"\"

Скажите, пожалуйста, как сделать так чтобы выводился нормальный текст, как и должен быть. При этом безопасно, чтобы не было SQL иньекций и не работал код типа: <script>alert(1);</script>

siv1987
На сайте с 02.04.2009
Offline
427
#1

htmlspecialchars на сколько я знаю переводы строк не трогает. И лишним экранированием не занимается. И порядок следовало бы поменять.

R
На сайте с 03.08.2012
Offline
131
#2

Поменял местами и окей стало:) А что сделать с /n писать регулярку чтобы все /n меняло на <br>?

LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#3
revered:
А что сделать с /n писать регулярку чтобы все /n меняло на <br>?

Обычный str_replace уже не в моде?

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
TF-Studio
На сайте с 17.08.2010
Offline
334
#4
Всё ещё лучший способ заработка для белых сайтов: GoGetLinks (https://www.gogetlinks.net/?inv=fahbn8).
R
На сайте с 03.08.2012
Offline
131
#5

Понял, Спасибо большое всем!!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий