smarty常用功能杂记
时间:2006-10-09 来源:放弃思考
smarty的强大功能毋庸置疑。相应的其复杂度也可见一斑,对于使用者来说是否有必要深入学习smarty也是个很现实的问题。个人认为,学会其常用功能,了解其高级功能,需要的话,再查手册即可。
尽管对其一直存有疑虑,但不可否认,smarty还是给我的开发带了诸多方便。
以后会将用到一些smarty的功能都记录在这里,也方便自己查看。
一 内容显示部分
1 最常用的当然是nl2br了
2 truncate:0:20:'..' 截取,排版时很有用。可惜对smarty对各种中文编码的截取有问题,会产生乱码。一般要自己改写,或者自己写个处理函数。
比如我使用的是UTF8字符,所以写了如下函数:
function smarty_modifier_utf8truncate($str,$start,$length = 80, $etc = '...',$encode="UTF-8") {
return mb_strimwidth($str,$start,$length, $etc ,$encode);
}
注:由于utf8字符长度不定的问题,该函数效果不是很满意,具体问题就不在此做讨论了。
3 escape 对显示内容进行编码处理,该功能在一些地方很有用,作用相当于php的htmlspecialchars函数等等。
比如在编辑内容,会遇到
此时,如果$content包含英文双引号(如 测试内容"测试内容2") ,则提交后英文双引号连同里面的内容会丢失。解决方法改成 value="{$content|escape:'html'}" 即可。
二 正则应用
1 图片缩略图显示
比如:$pic_path 为原图路径 ./1.jpg或者./1.gif,使用上述功能之后为 ./1_dst.jpg,如果没有该图片的话,则显示 ./def.gif
陆续添加中....
尽管对其一直存有疑虑,但不可否认,smarty还是给我的开发带了诸多方便。
以后会将用到一些smarty的功能都记录在这里,也方便自己查看。
一 内容显示部分
1 最常用的当然是nl2br了
2 truncate:0:20:'..' 截取,排版时很有用。可惜对smarty对各种中文编码的截取有问题,会产生乱码。一般要自己改写,或者自己写个处理函数。
比如我使用的是UTF8字符,所以写了如下函数:
function smarty_modifier_utf8truncate($str,$start,$length = 80, $etc = '...',$encode="UTF-8") {
return mb_strimwidth($str,$start,$length, $etc ,$encode);
}
注:由于utf8字符长度不定的问题,该函数效果不是很满意,具体问题就不在此做讨论了。
3 escape 对显示内容进行编码处理,该功能在一些地方很有用,作用相当于php的htmlspecialchars函数等等。
比如在编辑内容,会遇到
此时,如果$content包含英文双引号(如 测试内容"测试内容2") ,则提交后英文双引号连同里面的内容会丢失。解决方法改成 value="{$content|escape:'html'}" 即可。
二 正则应用
1 图片缩略图显示
比如:$pic_path 为原图路径 ./1.jpg或者./1.gif,使用上述功能之后为 ./1_dst.jpg,如果没有该图片的话,则显示 ./def.gif
陆续添加中....
相关阅读 更多 +