我在<textarea></textarea>
输入了一些文字,我输入了一些换行符,空格等。故意。但是,在<pre></pre>
内提交和呈现文本后,换行符,空格已经消失,它们被\r\n\r\n
之类的内容替换,出了什么问题?如何保留原始格式?
<textarea name="detail" id="detail" rows="7" cols="60" style="font-family:Arial, Helvetica, sans-serif"><?php echo $detail ?></textarea>
我以HTML格式呈现文字。
这是输出:
城市群 杭州市区(杭州市区)有 常住人口3.9319 截至2003年的百万,其中2.6367 百万... \ n \ n \ n \ n \ n \ n \杭州 位于浙江北部 中国东部省,中国 大运河南端 中国,在平原上 ... \\\\ r \\\ n在夏末 (8月至9月),杭州,沿 与浙江其他城市 省,遭受台风风暴,但 台风很少直接攻击它。 通常。编辑\ r \ n \ r \ n另一行。
数据类型是varchar(MySQL),它有什么问题吗?
答案 0 :(得分:1)
答案 1 :(得分:0)
您需要先通过nl2br功能运行输出:
<pre><?php echo nl2br($content) ?></pre>
确保您在某些时候逃避数据以防止恶意输入 - 在使用mysql_real_escape_string将其粘贴到数据库之前或使用htmlspecialchars将其打印到屏幕之前
答案 2 :(得分:0)
您是否将这些内容输入到网络应用中?你写的一个?可能发生的事情是他们被认为是新线路。在Windows平台上,使用\ r(回车符)和\ n(新行)完成段落/换行符。如果您在新页面或网站上重新显示它们,则需要在某些html中重新显示,或者在原始提交中重新显示,替换\ r \ n
<pre>(whitespaceofyourchoice)<\pre>
。
\ r和\ n是ASCII字符,不是HTML格式的一部分。因此,Web浏览器会选择忽略它们。