【问题标题】:In table, <br /> tags displaying on the screen rathen than new line在表格中,<br /> 标签显示在屏幕上而不是换行
【发布时间】:2017-04-01 16:08:25
【问题描述】:

我有一个&lt;table&gt; 和里面的&lt;td&gt; 标签,我在其中显示从后端检索到的数据。在将数据保存到数据库之前,我使用它来将 \n\r 转换为 &lt;br /&gt; 标签:

$data = nl2br($request->data);
$data = str_replace(array("\r\n", "\n\r", "\r", "\n"), "", $data);

为了检索数据,我尝试直接回显该值 - ({{ }} 是 Laravel 的回显)

<tr> 
  <td>{{ $item->data }}</td>
</tr>

但是,这是在页面上显示 &lt;br /&gt; 标记,而不是将它们变成新的换行符。


然后我尝试使用这种方法,我相信它会起作用,但是,这也会在文本上显示&amp;#13;,而不是将其转换为新行。

<tr> 
  <td>@if ($item){{ str_replace('<br />', '&#13;', $item->data) }}@endif</td>
</tr>

还尝试使用 '\n''\\n'str_replace() 内将 br 标签替换为 \n,但没有成功

如何像往常一样在表格中将&lt;br /&gt; 标记转换为新行?

【问题讨论】:

    标签: php html laravel html-table nl2br


    【解决方案1】:

    这与表格无关。

    the documentation:

    Blade {{ }} 语句通过 PHP 的 htmlentities 函数自动发送,以防止 XSS 攻击。

    默认情况下,Blade{{ }} 语句会自动通过 PHP 的htmlentities 函数可以防止XSS 攻击。如果你不 希望您的数据被转义,您可以使用以下语法:

    Hello, {!! $name !!}.
    

    在回显您的用户提供的内容时要非常小心 应用。始终使用转义的双花括号语法 在显示用户提供的数据时防止 XSS 攻击。

    【讨论】:

    • 非常感谢。我使用了我在另一个页面上展示的 str_replace(),因为我认为这不会那么容易。这就是让我觉得我需要使用花哨的东西的原因。再次感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-24
    • 2019-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多