写法:<{变量名|方法名[:参数]}>
原理:把变量名作为方法的第一个参数执行,输出函数的返回值到本页面
文件夹:plugins/modifier.方法名.php
应用举例:
<!--系统自带--> <div><{$test|capitalize}></div>//首字母大写 <div><{$money|cat:"$"}></div>//连接字符串 输出hello$ <div><{"$"|cat:$money}></div>//输出$hello <div><{$zifu|count_characters}></div>//字符计数,在这里汉字为一个字符,空格还是两个字符,小数点是一个字符 <div><{$duanluo|count_paragraphs}></div>//段落计数 <div><{$yuju|count_sentences}></div>//语句计数 <div><{$danci|count_words}></div>//单词计数 <div><{$riqi|date_format:"%D %T"}></div>//格式化日期时间 <div><{$riqi|date_format:"%Y-%m-%d %H:%M:%S"}></div> 备注: %T - 当前时间,和 %H:%M:%S 一样 %D - 和 %m/%d/%y 一样 %y - 没有世纪数的十进制年份(范围从 00 到 99) %Y - 包括世纪数的十进制年份 %H - 24 小时制的十进制小时数(范围从 00 到 23) %I - 12 小时制的十进制小时数(范围从 00 到 12) %m - 十进制月份(范围从 01 到 12) %M - 十进制分钟数 %S - 十进制秒数 %j - 年份中的第几天,十进制数(范围从 001 到 366) %d - 月份中的第几天,十进制数字(范围从 01 到 31) <div><{$moren|default:"hello"}></div>//默认值 当变量未设置或为空字符串时,将由给定的默认值替代其输出。 <div><{$suojin|indent:10}></div>//字符缩进,显示在源代码中 <div><{$zhengze|regex_replace:"/d/":"qq"}></div>//正则代替 <div><{$zhengze|replace:"l":"8"}></div>//替换 <div><{$jiequ|truncate:8:"..."}></div>//截取,是指包含三个点在内的八个字符 <!--自定义--> 样式 <div><{$ceshi|yangshi:"blue":20}></div>
方法页面:modifier.yangshi.php <?php function smarty_modifier_yangshi($str,$color="red",$size="16") { $str = "<span style='color:{$color}; font-size:{$size}px'>{$str}</span>"; return $str; }
截取
<div><{$jiequ|substr:8:"***"}></div>
方法页面:modifier.substr.php
<?php function smarty_modifier_substr($str,$num=10,$end="...") { $str = substr($str,0,$num-3); $str = $str.$end; return $str; }
性别
<div><{$sex|sexname}></div>
<?php function smarty_modifier_sexname($sex) { /*if($sex) { return "男"; } else { return "女"; }*/ return $sex?"男":"女"; }
民族
<div><{$nation|nationname}></div>
方法页面:modifier.nationname.php
<?php function smarty_modifier_nationname($nation) { $db = new MySQLi("localhost","root","123","mydb"); $sql = "select name from nation where code='{$nation}'"; $result = $db->query($sql); $attr = $result->fetch_row(); return $attr[0]; } 该变量调节器方法不能调用类DBDA.php,报错