我有这段代码用于将文本区域输入中的换行符保存到数据库:
$input = preg_replace("/(\n)+/m", '\n', $input);
Run Code Online (Sandbox Code Playgroud)
在检查数据库中的输入时,实际上保存了换行符。
但问题是当我想回显时,输出中没有出现换行符,如何保留输入中的换行符并将它们回显出来。我不想使用<pre></pre>
.
您正在用$input
文字的两个字符序列\n
(反斜杠 + n)替换实际的换行符序列- 而不是换行符。从数据库中读取时,这些需要转换回换行符。尽管我怀疑您打算将这些实际的换行符保留在数据库中,并且应该使用双引号字符串代替...
$input = preg_replace('/(\n)+/m', "\n", $input);
Run Code Online (Sandbox Code Playgroud)
请注意,我用单引号替换了第一个字符串分隔符,用双引号替换了第二个字符串。\n
是正则表达式中的一个特殊序列,用于表示换行符(ASCII 10),但它也是 PHP 中用于表示相同的字符转义 - 两者有时会冲突。
归档时间: |
|
查看次数: |
3940 次 |
最近记录: |