php - Laravel 5.8 将每个新行包装在一个
问题描述
我目前正在使用 Laravel 开发一个食谱网站,但在我的食谱展示页面(显示单个食谱)上遇到了问题。食谱展示页面显示描述、成分和分步说明。我的成分和分步说明都作为一个字符串插入到我的数据库中。输入表单要求用户在单独的行上列出每个成分/步骤。然后我使用 PHP 函数 nl2br() 将信息显示为列表。但是,我非常希望能够控制每一行,最好能够在每一行周围包裹一个 li,我以后可以在 CSS 中设置样式。
我在 Stackoverflow 上找到了这个链接:wrap new line variable with <li>
我相信这就是我正在寻找的东西,但是,我不确定如何将其调整为 Laravel。目前我正在使用这行代码来检索成分并逐步进行:
<p>{!! nl2br(e($recipe->directions)) !!}</p>
<p>{!! nl2br(e($recipe->ingredients)) !!}</p>
对此的任何帮助将不胜感激,因为它有点超出我目前的专业领域!让我知道我是否需要进一步澄清这个问题或为你们提供更多背景信息!太感谢了!:)
解决方案
通过新的换行符分解字符串,将输入分解为行数组。
$lines = explode("\n", $recipe->directions);
<li>
用元素输出每一行:
<ul>
@foreach ($lines as $line)
<li>{{$line}}</li>
@endforeach
</ul>
推荐阅读
- reactjs - 填充的输入不会在 REACT 中触发 onchange 事件
- ubuntu - 如何在 ubuntu 19 上启用网络服务
- r - 由闪亮的传单制作的地图中的颜色问题
- function - 我的二阶导数非齐次函数出了什么问题?
- java - Firebase ML 套件的 QR 码扫描器可多次扫描每个 QR 码
- c++ - 引用数组中的子数组
- networking - 设备如何知道如何使用 SSH 从不同的网络连接服务器?
- javascript - 如何使用内部 HTML 传递 JavaScript 参数
- azure - 如何在 Azure Log Analytics 工作区中获取 Windows 安全事件?
- typo3 - 升级到 9.5.17 后的安全消息