替换Smarty中的所有html特殊字符

时间:2011-12-14 09:29:18

标签: php smarty

我想在Smarty中截断一个字符串 这是场景:
字符串是“Test!abc”。 允许的最大字符= 5.
Smarty得到了字符串 如果我使用{$string},我会得到所需的结果“Test!abc”
如果我使用{$string|truncate:5:"..":true},我会收到“Test& ..”

如何在html字符转换后进行截断。不想在php中制作它 我知道“替换”,但它看起来像“| replace .. | replace .. | ......”

3 个答案:

答案 0 :(得分:3)

如果您正在使用Smarty 3.1,可以查看unescape修饰符。

{$string|unescape:"entity"|truncate:5}

答案 1 :(得分:3)

您可以尝试以下方式:

{$string|html_entity_decode:2:"UTF-8"|truncate:5:"...":true|htmlentities:2:"UTF-8"} 

答案 2 :(得分:1)

在Smarty 2中你可以尝试这个

{$string|html_entity_decode|truncate:5}