У меня много проблем, сохраняя точный вид того, как пользователь выдает короткий абзац.
Моя проблема заключается в том, что появляются случайные косые черты и html. Когда люди нажимают клавишу ввода при вводе сообщения, «\ r \ n \» будет отображаться, когда он будет эхом позже. Я попытался это исправить, но теперь, когда пользователь вводит апостроф при составлении сообщения, он вставляется в базу данных с тремя обратными косыми чертами и, таким образом, эхом повторяет с помощью трех обратных косых черт с апострофом. Срыв! Я хочу просто начать все заново!
Вот что я делаю.
Я пробовал много разных вещей, таких как nlbr
и strip_tags
и stripslashes
и mysql_real_escape_string
и другие. Возможно, я использую все это в определенной комбинации, которая его испортит.
Таким образом, мой вопрос заключается в том, как лучше всего сохранить то, как кто-то создает текстовый абзац, который позже будет эхом через php, чтобы выглядеть так, как они набрали его?
htmlspecialchars
чтобы избежать инъекций HTML или простых синтаксических проблем, а затем использовать nl2br
для форматирования разрывов строк специально для HTML. Это в основном это.
На втором шаге вам нужно избежать его с помощью функции mysql.
Но для правильного вывода его вам нужно сделать следующее
<pre><?= htmlentities($mysqlRow['data']); ?></pre>
Это будет получать из базы данных необходимую информацию и будет выводить ее так, как есть. Со всеми пробелами и вкладками и html-тегами. (Если пользователь вводит <html>
то выводит <html>
как текст)