一尘不染

准确保存和显示文本的键入和提交方式

mysql

我在保留用户键入简短段落的确切外观方面遇到很多麻烦。

我的问题是 出现随机斜杠和html。当人们在键入消息时按回车键时,“ \ r \ n
\”将在稍后回显时显示。我尝试解决此问题,但是现在,当用户在编写消息时键入撇号时,它会以3个反斜杠插入数据库中,并因此在以后以3个反斜杠与撇号回显。令人沮丧!我想重新开始!

这是我的工作。

  1. 用户在输入字段中键入消息,然后点击提交。
  2. 该消息通过php插入类型为varchar(280)的数据库中。
  3. 该消息通过php得到回应。

我已经尝试了很多不同的东西像nlbrstrip_tagsstripslashesmysql_real_escape_string和其他人。我可能会以某种特定的组合使用所有这些信息,从而弄乱了它。

所以我的问题是 ,最好的方法 什么才能准确地保留某人撰写文本段落的方式,以便稍后通过php回显它们看上去就像键入内容的方式?


阅读 261

收藏
2020-05-17

共1个答案

一尘不染

  1. 确保关闭了魔术引号,或者,如果不能禁用它们,请清除其中的字符串。请阅读手册以获取详细信息:http : //www.php.net/manual/zh/security.magicquotes.php
  2. 将文本插入数据库时​​,请 一次 使用SQL语法正确地对其进行转义,或者最好使用准备好的语句。请参阅如何防止在PHP中进行SQL注入?伟大的逃避现实主义(或:在文本中使用文本需要了解的内容)
  3. 当输出为HTML时,可htmlspecialchars用于避免HTML注入或普通语法问题,然后用于nl2br格式化专门用于HTML的换行符。

基本上就是这样。

2020-05-17