我在保存用户输入短段的确切外观方面遇到了很多麻烦。
我的问题是随机斜杠和html显示。当人们在键入消息时按Enter键时,“\ r \ n \”将在稍后回显时显示。我尝试修复它但现在当用户在编写消息时键入撇号时,它会以3个反斜杠插入到数据库中,因此稍后会用撇号回显3个反斜杠。令人沮丧!我想重新开始!
这就是我的工作。
我尝试了许多不同的内容,例如nlbr
和strip_tags
以及stripslashes
和mysql_real_escape_string
等。我可能会在某种组合中使用这些,这会混淆它。
所以我的问题是什么是最好的方法来保存某人如何撰写文本段落以便稍后通过php回显,看起来就像他们输入的那样?
答案 0 :(得分:4)
htmlspecialchars
以避免HTML注入或纯语法问题,然后使用nl2br
格式化专门针对HTML的换行符。基本上就是这样。
答案 1 :(得分:0)
在第二步,您需要使用mysql函数将其转义。
但为了正确输出它,您需要执行以下操作
<pre><?= htmlentities($mysqlRow['data']); ?></pre>
这将从数据库结果获得所需信息,并将输出它。包含所有空格和制表符以及html标签。 (如果用户输入<html>
,则会输出<html>
(如文字)