You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将PHTML中[‘code’]返回的逗号分隔值替换为换行符?

解决方法:将逗号分隔值替换为换行符

嘿,我懂你的需求啦——就是想把产品附加信息里那种逗号串起来的数值,改成每行显示一个的效果对吧?直接修改输出属性值的那一行就行,用PHP的str_replace()函数就能轻松搞定。

修改后的完整代码

<?php foreach ($_additional as $_data): ?>
<tr>
<th class="col label" scope="row"><?= $block->escapeHtml(__($_data['label'])) ?></th>
<td class="col data" data-th="<?= $block->escapeHtml(__($_data['label'])) ?>">
    <?= /* @escapeNotVerified */ str_replace(', ', '<br>', $_helper->productAttribute($_product, $_data['value'], $_data['code'])) ?>
</td>
</tr>
<?php endforeach; ?>

关键细节说明

  • 核心逻辑就是用str_replace(', ', '<br>', $目标值),把逗号加空格的分隔符替换成HTML的换行标签<br>——如果你的属性值是纯逗号分隔(没有空格),就把第一个参数改成','就行。
  • 一定要把替换函数套在$_helper->productAttribute(...)外面,确保先拿到完整的属性值,再做替换操作。
  • 如果是纯文本场景(比如导出文件),可以把<br>换成\n,但在PHTML页面里用<br>才能让浏览器正确渲染换行效果。

内容的提问来源于stack exchange,提问作者Shaun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:37:34