使用 HTML 保留换行符
尝试将换行符或“rn”字符转换为 HTML 中断标记 ("
"),用户使用各种方法都遇到了困难。
方法探索
preg_replace():
<code class="php">$description = preg_replace('/\r?\n|\r/', '<br/>', $description);</p> <li> <p><strong>str_replace():</strong></p> <pre class="brush:php;toolbar:false"><code class="php">$description = str_replace(array("\r\n", "\r", "\n"), '<br/>', $description);</code>
nl2br():
<code class="php">$description = nl2br($description);</code>
意外的结果
尽管有这些看似合理的方法,换行符仍然保留在文本中。原因在于双换行符(“rr”)的意外出现。虽然这不应该妨碍替换,但值得进一步调查。
nl2br() 函数
重要的是要注意 nl2br() 的存在 函数,它在换行符之前显式插入“
”标签。
<code class="php"><?php // Won't work $desc = 'Line one\nline two'; // Should work $desc2 = "Line one\nline two"; echo nl2br($desc); echo '<br/>'; echo nl2br($desc2); ?></code>
双引号文本
此外,应特别注意在将文本分配给变量时使用双引号。
<code class="php">$description = "Line one\nline two"; // Correct $description = 'Line one\nline two'; // Incorrect</code>
这是因为单引号不会“扩展”转义序列,例如“n”,这对于解释 new 至关重要行字符。
以上是为什么我的换行符没有转换为 HTML 中断标记?的详细内容。更多信息请关注PHP中文网其他相关文章!