欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

有关在smarty中调用php内置函数的问题

程序员文章站 2022-05-01 10:15:02
...
  1. function SmartyLen($params){
  2. extract($params);
  3. $len=strlen($text);
  4. $max=$length;
  5. for ($i=0;$i $chr=substr($text,$i,1);
  6. if(ord($chr)>0x80)//字符是中文
  7. {
  8. $length++;
  9. $i++;
  10. $len--;
  11. }
  12. }
  13. $str=substr($text,0,$length);
  14. if($len>$max)$str.="...";
  15. Return $str;
  16. }
复制代码

注册函数 $smarty->register_function('len',"SmartyLen"); 模板调用 {len text="测试下" length="1"} //注意这里的text和length其实是函数里的2个参数函数的参数必须要以函数内部变量名一致,其实传回去的的是个数组,在函数里用extract($params);把数组中的变量导入到当前的符号表。