首頁  >  文章  >  後端開發  >  有關在smarty中呼叫php內建函數的問題

有關在smarty中呼叫php內建函數的問題

WBOY
WBOY原創
2016-07-25 09:05:42863瀏覽
  1. function SmartyLen($params){
  2. extract($params);
  3. $len=strlen($text);
  4. $max=$length;
  5. for ($i=0;$i<$length;$i++){
  6. $chr=substr($text,$i,1);
  7. if(ord($chr)>0x80)//字符是中文
  8. {
  9. $length++;
  10. $i++;
  11. $len--;
  12. }
  13. }
  14. $str=substr($text,0,$length);
  15. if($len>$max)$str.="...";
  16. Return $str;
  17. }
复制代码

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



陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn