> 当我们使用MVC开发模式当然少不了模板引擎,在本引擎中,您可以在模板引擎中使用函数来灵活的让网页多元化,现在我们来看看有哪些函数: * * * * * > 追加:append{}  演示: ``` {append var='name' value='val' index='start'} ``` > >  解释:给特定name变量数组追加val值,如果index(数组索引)有值,则尝试添加到index的下标* * * * * * > 赋值:{assign}  演示: ``` {assign var="name" value="val"} ``` > 解释:给name变量名赋值val值* * * * * * > 循环:{for}  演示: ``` {for $foo=start to end} ``` > 解释从start开始一直循环到end结束for标签需要使用{/for}来闭合该函数* * * * * * >遍历:{foreach}  演示: ``` {foreach $myarray as $key=>$val} ``` > 解释:将遍历$myarray数组变量,$key为循环的键,$val是循环的值,需要{/foreach}结尾* * * * * * > 条件:{if}{elseif}{else}  演示: ``` {if $name == 'admin'} ``` > 解释:判断$name变量值是否等于admin本函数需要使用{/if}结尾使用{elseif 条件}反向判断,使用{else}来反向执行* * * * * * >包含:{include}  演示: ``` {include file='test.html'} ``` > 解释:将test.html文件引用到本页面* * * * * * > 解释域:{literal}  演示: ``` {literal} ``` > 解释:当文本处于{literal}与{/literal}之间,将不会被模板引擎所解释,用于定义一些页面上的CSS或javascript* . * * * * * >禁止缓存:{nocache}  演示: ``` {nocache} ``` > 解释: 该函数可附着在其他函数使用也可以单独使用,其作用是禁止缓存,已确保中间的内容是最新的,如果单独使用请使用{/nocache}闭合函数* * * * * * >循环:{while}  演示: ``` {while $val > 0} ``` >解释 一直循环到条件不满足才会中止,否则将一直循环,需要使用{/while}闭合* * * * * * >载入:{fetch}  演示: ``` {fetch file='http://www.baidu.com' assign='txt'} ``` > > 解释: file参数可以是本地文件路径或者是ftp文件也可以是http文件,如果assign不定义那么获取的内容将会直接输出,否则内容将会赋值给assign参数变量 > * * * * * #### 以下为变量操作函数: > > 首字符大写:capitalize  演示: > ``` {$val|capitalize:true} ``` > > 解释:将对$val变量的首个字符进行大写转换,如果设置为false则是小写 > 连接字符串:cat  演示: > ``` {$val|cat:"我是追加的字符"} ``` > >解释:将对$val变量尾部追加上cat设置的文本 >字符计数:count_characters  演示: > ``` {$val|count_characters:true} ``` > > > 解释:将统计$val的字符长度,如果设置为false则不计算空格,否则将会计算空格,默认为false > 计算段数:count_paragraphs  演示: > ``` {$val|count_paragraphs:false} ``` > > 解释:计算$val的行数,如果设置为true则包含空格计算,否则将忽略空格计算,默认为false > 计算句数:count_sentences  演示: > ``` {$val|count_sentences} ``` > >  解释:将对$val变量计算其句子的数量 > 计算词数:count_words  演示: > ``` {$val|count_words} ``` > >解释:将对$val变量计算其单词的数量 > 格式化日期:date_format  演示: > ``` {$val|date_format:'%Y-%m-%d %H:%M:%S'} ``` > >  解释:将对$val变量进行时间格式化,$val是一个时间戳,date_format可以设置输出的时间格式 > 默认值:default  演示: > ``` {$val|default:'no txt'} ``` > > 解释:如果$val没有内容,将会输出default设置的文本 > 转义:escape  演示: > ``` {$val|escape:'quotes'} ``` > > 解释:将对$val变量进行转义,escape则是转义的类型,详细类型列表请见php的htmlentities函数第二个参数类型列表 >缩进:indent  演示: > ``` {$val|indent:10:'-'} ``` > > 解释:将对$val变量的进行缩进操作,10为缩进的长度,'-'为缩进的字符,可自定义 > 小写:lower  演示: > ``` {$val|lower} ``` > >  解释:将对$val变量的首个字符进行小写转换 > 换行替换:nl2br  演示: > ``` {$val|nl2br} ``` > > 解释:将变量值的\n\r换行符替换成 > 正则替换:regex_replace  演示: > ``` {$val|regex_replace:"/[\r\t\n]/":" "} ``` > > 解释:将对$val变量值进行正则替换,替换内容则是第二个参数 >替换:replace  演示: > ``` {$val|replace:'a':'b'} ``` > > 解释:将对$val变量值进行替换操作,演示中将字符a替换成b > 字符串格式化:string_format  演示: > ``` {$val|string_format:"%d"} ``` > > 解释:将对$val变量值进行字符串格式化,可以自定义格式化的方法 >去除空格:strip  演示: > ``` {$val|strip} ``` > >  解释:将对$val变量值进行去除空格操作 > 去除html标签:strip_tags  演示: > ``` {$val|strip_tags} ``` > >  解释:将对$val变量值进行去除html标签操作 > 截取:truncate  演示: > ``` {$val|truncate:30:"..."} ``` > > 解释:将对$val变量值进行截取,演示中截取的长度为30,多余的字符将用'...'代替