首页  >  文章  >  后端开发  >  为什么我的换行符没有转换为 HTML 中断标记?

为什么我的换行符没有转换为 HTML 中断标记?

Susan Sarandon
Susan Sarandon原创
2024-11-04 20:18:02889浏览

Why Are My Newline Characters Not Converting to HTML Break Tags?

使用 HTML 保留换行符

尝试将换行符或“rn”字符转换为 HTML 中断标记 ("
"),用户使用各种方法都遇到了困难。

方法探索

  1. 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>
  2. nl2br():

    <code class="php">$description = nl2br($description);</code>
  3. 意外的结果

    尽管有这些看似合理的方法,换行符仍然保留在文本中。原因在于双换行符(“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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn