在表格中,<br/>标签显示在屏幕上比新线条更重要

时间:2016-11-17 22:41:18

标签: php html laravel html-table nl2br

我在其中有一个<table>和内部<td>标记,我在后端显示检索到的数据。在将数据保存到数据库之前,我使用此功能将\n\r转换为<br />标记:

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

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

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

但是,这会在页面上显示<br />标记,而不是将其转换为新的换行符。

然后我尝试使用这种方法,我认为这种方法可行,但是,这也是在文本上显示&#13;而不是将其转换为新行。

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

还尝试在\n内使用'\n''\\n'替换br str_replace(),但没有运气

如何在表格中像往常一样将<br />标签转换为新行?

1 个答案:

答案 0 :(得分:6)

这与表格无关。

请参阅the documentation

  

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

  

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

Hello, {!! $name !!}.
     

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