ホームページ  >  記事  >  バックエンド開発  >  Smarty での PHP 組み込み関数の呼び出しに関する質問

Smarty での PHP 組み込み関数の呼び出しに関する質問

WBOY
WBOYオリジナル
2016-07-25 09:05:42809ブラウズ
  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="under test" length="1"} //ここでの text と length は、実際には関数内の 2 つのパラメーターであることに注意してください。関数のパラメーターは、関数の内部変数名と同じである必要があります。実際、これらは配列として返されます。関数内で extract($params) を使用して、配列内の変数を現在のシンボル テーブルにインポートします。



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。