Php 在循环Smarty中过滤数据

Php 在循环Smarty中过滤数据,php,preg-match,smarty,Php,Preg Match,Smarty,是否有任何方法可以使用preg_match或任何其他类似的smarty功能执行以下操作: {foreach $resultsdata as $resultsData} <div class="site_text"> {$resultsData.text|substr:0:500} </div> {/foreach} {foreach$resultsdata作为$resultsdata} {$resultsData.text | substr:0:500} {/forea

是否有任何方法可以使用preg_match或任何其他类似的smarty功能执行以下操作:

{foreach $resultsdata as $resultsData}
<div class="site_text">
{$resultsData.text|substr:0:500}
</div>
{/foreach}
{foreach$resultsdata作为$resultsdata}
{$resultsData.text | substr:0:500}
{/foreach}

我想筛选$resultsData.text并仅显示此文本的一部分。

我这样问是因为您可以使用一个。但我知道,这只适用于Smarty 3


顺便说一下,从您的代码来看,preg_replace似乎是一个更好的解决方案,而且它已经是它的内部功能了。

您对模板的理解是错误的

模板只能用于显示数据。
但是数据本身必须在业务逻辑部分准备


否则,模板将毫无用处。

使用哪个版本的Smarty?为什么不在将此数据传递给Smarty之前执行此操作?我不知道preg_*在这里应该做什么。如果你只是想截断字符串,试试看。我使用了你建议的插件。谢谢。这并不能回答问题