Smarty创建自变量调节器
之前已经提到过自变量调节器,就是对变量修饰的
比如{$a|truncate:5}
但是呢,truncate对中文支持并不友好,在php汉子是占3个字节的,那么截取字符串truncate:3 6 9 必须为3的倍数,使用非常不便
那么我们可以自己创建一个自变量调节器truncate_d 来解决此问题
1. 首先在smarty模板引擎的libs\plugins目录中创建以modifler.开始的变量调节器文件
直接复制modifier.truncate.php改名即可。
2. 赋值以下代码保存
<?php function smarty_modifier_truncate_d($string, $length = 80, $etc = '...'){ if(mb_strlen($string) > $length){ $str = mb_substr($string, 0, $length, 'utf-8').$etc; }else{ $str = mb_substr($string, 0, $length, 'utf-8'); } return $str; } ?>
3. 测试结果
在index.php定义变量
$smarty->assign('a1','我很爱编程');
4. 在html文件中测试
{$a1|truncate_d:4}
5.输出结果
我很爱编...