全部,
我正在尝试构建一个完全UTF-8的web应用程序,允许用户提交文本内容。
如果我将复制到web表单(textarea
)上的文本存储到PHP字符串$str
中,然后打印该变量,那么很明显,打印的文本中没有换行符、回车符或制表符。
当我打印文本时,有没有办法查看这些特殊字符?
例如,如果用户要输入:
Two roads diverged in a yellow wood,
And sorry I could not travel both
我希望能够打印:
Two roads diverged in a yellow wood,'nAnd sorry I could not travel both
将它们回显到文本区域中,或者用<pre>
标记包围它们。否则,请使用nl2br和一个用于处理选项卡的自定义数据:来处理数据
function tab2nbsp($str)
{
return str_replace("'t", ' ', $str);
}
当您复制文本时,它应该在源代码和存储信息的任何文件/数据库中保留回车和新行。如果您想知道如何在HTML页面上显示它,以便用换行符进行渲染,请尝试php nl2br($string)
函数。
使用PHP的nl2br
将<br />
标记添加到换行符中。http://php.net/manual/de/function.nl2br.php
您也可以将内容放在<pre>
-标记中,或者使用CSS属性white-space:pre
http://www.css4you.de/Texteigenschaften/white-space.html
使用<pre>
标记显示预先格式化的文本块(带有换行符、制表符或多个空格的文本)。此标记保留这些元素。
函数nl2br()也可能对您感兴趣。
使用这个,当记录输入数据库时,它会将br转换为nl,所以我们将其返回到html,所以我们必须将其nl转换为br…
nl2br($str);