Laravel中foreach循环输出<p>标签内容时去除逗号前空格问题
解决Laravel循环输出逗号前空格的问题
你遇到的空格问题,根源是模板里的换行和缩进被HTML解析成了空格。给你几个简单的解决办法:
方法一:用集合的implode方法(最简洁)
直接通过Laravel集合的pluck提取所有名称,再用implode拼接成带逗号的字符串,完全不用写循环:
<p class="text-2xl"> {{ $user->rateSchedule->pluck('disciplines.name')->implode(', ') }} </p>
这样直接就能输出Acupuncture, Reiki, Acupuncture的格式,代码更简洁也不容易出错。
方法二:调整foreach的输出格式
如果一定要用foreach循环,把逗号和名称放在同一个输出语句里,去掉中间的换行和缩进:
<p class="text-2xl"> @foreach ($user->rateSchedule as $schedule) {{ $schedule->disciplines->name }}{{ !$loop->last ? ', ' : '' }} @endforeach </p>
这样名称和逗号之间没有模板里的缩进空格,输出就正常了。
或者你也可以把循环代码挤到一行(可读性稍差,但能彻底避免空格问题):
<p class="text-2xl">@foreach ($user->rateSchedule as $schedule){{ $schedule->disciplines->name }}{{ !$loop->last ? ', ' : '' }}@endforeach</p>
内容的提问来源于stack exchange,提问作者Manuel
相关产品推荐
相关产品推荐

