\ r \ n从数据库中提取后显示在<textarea>中

时间:2015-10-19 04:42:06

标签: php textarea

&lt; p&gt;从textarea捕获数据以开始。&lt; / p&gt; &LT; p为H.线路1 2号线 3号线 等&LT; / p为H. &lt; p&gt;它在存储到数据库之前通过此功能发送(我打开更好的解决方案,但如果PDO是其中之一,我不理解它并且还没有得到它工作)LT; / p为H. &lt; pre&gt;&lt; code&gt; function test_input($ data){     全球$ conn;     $ data = trim($ data);     $ data = stripslashes($ data);     $ data = htmlspecialchars($ data);     $ data = mysqli_real_escape_string($ conn,$ data);     返回$ data; } &LT; /代码&GT;&LT; /预&GT; &lt; p&gt;这是我防止注射的方式(不是我的方式,而是我找到的方法,直到现在它给我带来了换行和textareas这个问题)&lt; / p&gt; &lt; p&gt;我尝试从数据库中提取数据并将其显示在textarea中,它显示\ r \ n而不是换行符。它存储在带有换行符的DB中(我没有看到\ r \ n,而是看到新行上的数据)&lt; / p&gt; &lt; p&gt;我已经尝试了nl2br,我已经尝试了html_entity_decode,我已经尝试了str_replace \ r \ n到br(然后它只显示了br literal而不是\ r \ n)。&lt;&lt; p&gt; ; / p为H. &lt; p&gt;来自我在本网站上发现的研究,在我将其存储到导致此问题的数据库之前我正在做的事情,但没有一个解决方案对我有效。&lt; p&gt; ; / p为H. &LT; p为H.。帮助&LT; / p为H.

3 个答案:

答案 0 :(得分:2)

将文本中的\r\n替换为&#13;&#10;,然后再将其放入textarea并将其显示给用户。

它对我有用。

答案 1 :(得分:0)

尝试这可能是完整的帮助

<?php 
function nl2br2($string) { 
$string = str_replace(array("\r\n", "\r", "\n"), "<br />", $string); 
return $string; 
} 
?> 

答案 2 :(得分:0)

Html与php和windows(回车和换行)。乐 发生了什么事 当你在缓冲区中有一个值字段时。缓冲区可以来自或进入输入/输出设备 缓冲区内部可能需要替换适合该设备的字符串。 逐行或从SQL API查询从DB中提取数据将需要重复执行正则表达式和替换操作 表达式已更改。在输入进入DB字段之前对子弹进行防弹总是一个好主意。 我遇到了由导致打印机的额外数据(转义序列)引起的打印问题 停止并等待重置序列。没有人理解为什么打印作业无法打印出类似的东西 12个月。我写了一个过滤器并将其添加到打印机界面。 PRoblem解决了