所以我对所有关于使用正确的换行符存储和显示文本区域以及不允许任何 HTML 标记的主题感到困惑。
现在我正在转义输入,然后将其存储为文本,然后尝试使用 echo nl2br($text); 显示它 但它仍然行不通。
那么应该如何处理它以便输入是安全的,它不会允许显示任何 HTML,如何正确显示它等等?
这就是我运行当前代码时发生的情况。
第 1 步:
Textarea 输入:
ROW 1
第 3
行 第 4 行
第 6 行
转义变量:
$text = $mysqli->real_escape_string($_POST['textarea']);
第 2 步:
要插入到数据库的 SQL 查询。在数据库中存储为:
ROW 1\r\n\r\nROW 3\r\nROW 4\r\n\r\nROW 6
第 3 步:
用 SQL 获取它,用 echo nl2br($text); 显示 结果为
ROW 1\r\n\r\nROW 3\r\nROW 4\r\n\r\nROW 6
我猜它的存储方式禁止使用 nl2br 因为实际上并没有存储任何换行符,而只有 \r 等,我有点迷失了这一点,而且已经很晚了,所以......
任何指导将不胜感激。