[转]smarty中调用php函数
来源:互联网 发布:惠州有什么好玩的知乎 编辑:程序博客网 时间:2024/04/25 08:51
最近发现smarty的一个重要功能 就是能在smarty模板里面调用php的函数
模板书写
{'param1'|functionName:'param2':'param3'}
程序功能
echo functionName('param1','param2','param3');
以此类推例如
{'1234567'|substr:'1':'2'}
下面这个比较怪 和函数的参数顺序有关系
{'a'|str_replace:'A':'abcd'}
Smarty调用自定义函数
调用自定义函数需要用到register_function() 来注册
我来举个例子常见的字符串切割
函数如下
function SmartyLen($params){
extract($params);
$len=strlen($text);
$max=$length;
for ($i=0;$i<$length;$i++){
$chr=substr($text,$i,1);
if(ord($chr)>0x80)//字符是中文
{
$length++;
$i++;
$len--;
}
}
$str=substr($text,0,$length);
if($len>$max)$str.="...";
Return $str;
}
注册函数
$smarty->register_function('len',"SmartyLen");
模板调用
{len text="测试下" length="1"}//注意这里的text和length其实是函数里的2个参数函数的参数必须要以函数内部变量名一致,其实传回去的的是个数组,在函数里用extract($params);把数组中的变量导入到当前的符号表。
====================================================
smarty中可以使用php 函数来做modifier
例如:
{if $news|@count == 0}
后面的count就是php函数
一样可以传递参数给modifier
例如:
$myStr|substr:0:3 这个等于substr($mystr,0,3)
还可以继续用管道{$myStr|substr:0:3|strtoupper}
modifiers应用从左到右
- [转]smarty中调用php函数
- Smarty模板中调用PHP函数
- smarty中调用php内置函数
- smarty 调用php内置函数
- smarty 调用php内置函数
- 在smarty中调用php的内置函数
- 在smarty中调用php内置函数的方法
- 在smarty中调用php的内置函数
- 在smarty模板中调用PHP自定义函数(从smarty2到smarty3)【转】
- Smarty中如何获取数组的长度 ,及smarty 调用php函数
- smarty模板文件中执行php代码 调用php函数的方法 使用对象等
- Smarty中自定义函数与调用方法
- PHP 中使用 Smarty 之六:Smarty 内建函数
- 在smarty模板中调用PHP自定义函数(从smarty2到smarty3)
- 用了smarty两年多,才知道在模板中可以直接调用PHP内置函数
- smarty修改嚣中使用php函数
- smarty模板中使用php函数
- smarty调用php常量
- SIP/H.323/MGCP协议详解
- C语言常用宏定义
- Qt获取IE地址栏内容
- java变量(属性)的覆盖
- GCC-3.4.6源代码学习笔记(49)
- [转]smarty中调用php函数
- 消除div之间的影响
- Java【动态绑定、静态绑定】-动态绑定
- access数据库+SQL带OleDbParameter参数开发小企业网站
- android 退出程序
- 堆 栈 的区别
- Hibernate 中对set的集合的排序解决办法
- HttpWatch工具简介及使用技巧
- 在MyEclipse当中安装jbpm