我无法从数据库中获取数据并在HTML页面textarea中回显.
这是用于将数据导入数据库的代码:
$_SESSION['content'] = mysqli_real_escape_string($link, strip_tags($_POST['content'],'<a>'));
Run Code Online (Sandbox Code Playgroud)
除了数据库中的链接和存储之外,这只是简单地剥离HTML标记.如果你查看数据库,换行符是不可见的,但我认为它们是\n和\ r \n.
如果我要输入textarea:
This should be a
New line
Run Code Online (Sandbox Code Playgroud)
数据库将其存储为:
This should be a<br>
New line
Run Code Online (Sandbox Code Playgroud)
当回显到textarea时,这就是显示的内容:
This should be a \r\n\r\nNew line
Run Code Online (Sandbox Code Playgroud)
我确定我错过了一些非常简单的东西,任何帮助都非常感激.
更新:
如果我删除mysqli_real_escape_string,换行符会被保留并完美地工作,我是否必须为此牺牲安全性?
解决了:
导致问题的mysqli_real_escape_string,不会回显已应用此变量的变量.从数据库插入,删除等时只使用mysqli_real_escape_string,而不是之前,绝对不是之后;)
感谢大家!
使用正确的HTML/CSS.
;-)
该行断开HTML预标记中的所有工作,或者将CSS空白属性设置为的标记:
white-space: pre;
Run Code Online (Sandbox Code Playgroud)
资源:
http://www.w3schools.com/cssref/pr_text_white-space.asp
http://www.quirksmode.org/css/whitespace.html
| 归档时间: |
|
| 查看次数: |
3143 次 |
| 最近记录: |