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

sen*_*nty 2 html php html-table nl2br laravel

我在<table>里面有一个和里面的<td>标签,我在后端显示检索到的数据.在将数据保存到数据库之前,我使用它来转换\n并转换\r<br />标记:

$data = nl2br($request->data);
$data = str_replace(array("\r\n", "\n\r", "\r", "\n"), "", $data);
Run Code Online (Sandbox Code Playgroud)

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

<tr> 
  <td>{{ $item->data }}</td>
</tr>
Run Code Online (Sandbox Code Playgroud)

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


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

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

还尝试将br标签替换为\n使用'\n''\\n'内部str_replace()但没有运气

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

Que*_*tin 6

这与表无关.

查看文档:

Blade {{ }}语句通过PHP的htmlentities功能自动发送,以防止XSS攻击.

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

Hello, {!! $name !!}.
Run Code Online (Sandbox Code Playgroud)

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