在classes文件中准备了一个用php修改的字符串。现在在 smarty 模板 (tpl) 文件中输出字符串时我得到了错误的文本格式。该项目使用 smarty 3.1-DEV 和 php 5.6。我有这个 php 代码并在 php 类文件中分配了变量: $pattern = '/' . implode('|', $allergens_searchnames) . '/iu'; echo preg_replace_callback($pattern, function ($m) { return mb_strtoupper($m[0]); }, $prodIngredients); } $this->assign("articleIngredients", $prodIngredients);通过类文件直接使用“回声”输出我在前端获得所需的格式:“成分:杏子(75%),糖,柠檬汁,胶凝剂:果胶(来自苹果)”对 smarty 输出的实施是错误的:“成分:杏子 (75%)、糖、柠檬汁、胶凝剂:果胶(来自苹果)”就像我在 tpl 文件中实现的那样:<span class="pull-right">{if isset($articleIngredients)}<p>{$articleIngredients|unescape:'html'}</p>{/if} </span>由于我对这个项目和聪明人知之甚少,几乎不可能为我解决这个问题。任何帮助表示赞赏。
2 回答
慕桂英4014372
TA贡献1871条经验 获得超13个赞
我认为这两个中的一个可能会对您有所帮助。尝试使用 unescape:'htmlall' 或尝试将文本打印为文字文本
<span class="pull-right">
{if isset($articleIngredients)}
<p>{$articleIngredients}|unescape:'htmlall'}</p>
{/if}
{literal}{/literal} 标签内的任何内容都不会被解释,而是按原样显示。
<span class="pull-right">
{if isset($articleIngredients)}
<p>{literal}{$articleIngredients}{/literal}</p>
{/if}
</span>
- 2 回答
- 0 关注
- 122 浏览
添加回答
举报
0/150
提交
取消