【问题标题】:Break lines in blade within {{}} tags在 {{}} 标记内的刀片中换行
【发布时间】:2018-04-06 00:23:15
【问题描述】:

我想在刀片报告中添加换行符。 我知道有 {!! !!} 标签来转义 html 标签,但在我的情况下,我在 {{$row[$colField]}} 有一个长字符串,所以它已经在 {{ }} 标签内。

我尝试过的方式应该是 {{ randome text {!! <br/> !!} }}

也许还有其他方法可以做到这一点。

@foreach($fieldList as $field)
    @if ($header->group == $field->group)
    <?php $colName = $field->columnname ?>
    <?php $colField = $field->columnfield; ?>
    <?php $fieldGroup = $field->group; ?>
        @if ($colName != $fieldGroup)
            <span class="titleSpan" style="white-space: nowrap; font-weight: bold">{{ $colName=='Age'?'':$colName.':' }} </span>
        @endif
    {{$row[$colField]}}<br>
    @endif
@endforeach

【问题讨论】:

  • 在 {} '@{}' 前添加 @ 符号
  • @ 之前 {{ 或 @ 之前 {!! ?
  • 都试过了。 @{!! 只是添加字符串。 @{{ 打破报表的整个布局并将变量打印为字符串
  • $row[$colField] 中是否有换行符(如\n)?
  • 您的代码似乎想要得到想要的结果

标签: php laravel blade


【解决方案1】:

花括号刀片标签用于回显值,它们不做任何其他事情,您不能按照您在示例中尝试的方式嵌套它们。您可以在Blade documentation 中找到有关这些标签的信息,但总结如下:

双花括号标记表示回显该值并转义它,例如:

{{ $row[$colField] }}

编译为:

<?php echo e($row[$colField]); ?>

带有 2 个感叹号的花括号表示回显该值而不转义,例如:

{!! $row[$colField] !!}

编译为:

<?php echo $row[$colField]; ?>

如果您希望换行符 (&lt;br/&gt;) 出现在 $row[$colField] 值内的某处,那么您必须在输出它之前转换该值。有一些函数,比如nl2br,可以用换行符替换新行,所以你可以这样做:

{!! nl2br($row[$colField]) !!}

编译成:

<?php echo nl2br($row[$colField]); ?>

所以如果$row[$colField]的值为:

Hello world
This is another line.

然后该代码将输出:

Hello world</br>
This is another line.

也就是说你的问题不清楚,所以如果这些信息没有帮助,那么请重写你的问题以清楚地传达你想要实现的目标,即:包括你的输入示例和你想要的输出示例。

【讨论】:

  • 谢谢。我将标签更改为 {!! !!} 并将 '&lt;br/&gt;' 连同值一起发送。效果很好。
猜你喜欢
  • 1970-01-01
  • 2022-01-19
  • 2017-12-22
  • 1970-01-01
  • 2018-11-15
  • 2016-03-18
  • 2015-07-06
  • 1970-01-01
  • 2016-06-26
相关资源
最近更新 更多