为了更方便的实现 功能与显示分离,通常会用 smarty 将功能代码中的数据 assign 到页面中,在页面中合理使用 smarty 的修饰方法,会使页面显示更美观!

一个数据可同时使用多个修饰函数,通过管道符 “|” 分割例: {$val|escape:"html"|replace:"\n":"<br/>"}

$smarty.now 取得当前时间

功能

修饰符 参数 备注
默认

default

:“xxx”(默认值)  
时间格式化 date_format :”%Y-%m-%d”(时间格式)

%a、%A 星期;%b、%h、%B 月份;%c 日期时间;%C 世纪值;

%d、%e 月份中的第几天;%D 和 %m/%d/%y 一样;

%g、%G、%y、%Y 年份;%H、%I、%k、%l  小时;%j 年份中的第几天;

%m 月份;%M 分钟;%p 上下午;%r 、%R 有上下午符号;%S 秒;

%T 当前时间;%u 星期;%U、%V、%W 本年的第几周;

%x 日期;%X 时间;%Z 时区名;%n 换行符;%% `%' 字符;

数字格式化

number_format

:小数位数:小数分隔符:千分位分隔符(不设参数则为默认值)  
字符串格式化

string_formate

:“%.2f” (字符串格式) %.2f 两位小数;%d 整数;
截取字符串

truncate

:开始截取位置:截取后的替代字符串:true 按照单词截取 例:($val|truncate:3:"...":true)
替换所有重复空格,换行和制表符

strip

:“ ”(替换成的字符) 如果是空字符则必须也要写成"",不能不带参数
过滤字符串中标签

strip_tags

   
将字符串中的\n替换成<br/>

nl2br

   
字母转成小写

lower

   
字母转成大写

upper

   
单词首字母大写

capitalize

  单词加数字不会被识别
计算字符数

count_characters

  不包括空格和其他特殊字符,UTF-8中一个字母字符占3个长度
连接字符串

cat

:“str”(连接的字符串) 只能连接1个
计算段落数

count_paragraphs

  回车或者\r\n的换行计算在内,<br>的不计算在内
计算句子数

count_sentences

  判断字符串有几个"."就为几个句子,"。"不包括在内,且点号后面要有一个空格才算一个句子
计算单词数

count_words

  字母,数字,或字母加数字的组合,在两个空格之间算一个单词
编码或转义变量 escape :html:ISO-8859-1

参数一:htmlhtmlallurl,urlpathinfoquoteshexhexentity,javascriptmail;

参数二:ISO-8859-1UTF-8, and any character set supported byhtmlentities()

解码entity, html 和 htmlall等的编码 unescape  

与escape 修饰器的效果刚好相反

缩进的字符 indent :缩进个数:缩进字符

例:{$str|indent:4:"&nbsp;"}表示缩进4个字符,字符用空格代替

字符替换 replace :"需要替换的":"替换的"

区分大小写

每个字符之间插入空格或者其他的字符

spacify

:“插入的字符”  

行宽约束

wordwrap :行宽:识别字串:false 词完整 参数一默认为 80;参数二默认为 \n;参数三默认为 false,及约束到词边界

使用正则表达式搜索替换变量

regex_replace :被替换的正则:使用该字串替换
例:{$articleTitle|regex_replace:"/[\r\t\n]/":" "}

转换变量到内置字符集

from_charset :需要转换的字符集名称
参数为 ISO-8859-1UTF-8或者任何mb_convert_encoding()函数支持的字符集名称。

将变量转换到指定字符集

to_charset :转换到的字符集类型
参数为 ISO-8859-1UTF-8或者任何mb_convert_encoding()函数允许的字符集名。

Smarty 变量修饰器的更多相关文章

  1. Smarty3——变量修饰器

    变量修饰器可以用于变量, 自定义函数或者字符串. 使用修饰器,需要在变量的后面加上|(竖线)并且跟着修饰器名称. 修饰器可能还会有附加的参数以便达到效果. 参数会跟着修饰器名称,用:(冒号)分开. 同 ...

  2. Smarty3——复合变量修饰器输

    你可以联合使用多个修饰器. 它们会按复合的顺序来作用于变量,从左到右. 它们必须以| (竖线)进行分隔,以‘:’号设置参数 {$articleTitle} {$articleTitle|upper|s ...

  3. Smarty 变量使用

    Smarty的标签都是使用定界符括起来. 默认定界符是{ 和 }, 但定界符可以被改变. 比如说在本手册,我们会假定你在使用默认的定界符. 在Smarty看来,任何在定界符之外的内容,都是静态的,或者 ...

  4. smarty变量调节器与函数

    smarty自带了一些变量调节器与内置函数,都在libs/plugins目录下,变量调节器以modifier开头,函数以function开头,而且我们可以自定义变量调节器与函数,熟练运用之后会极大地提 ...

  5. smarty变量调节器

    smarty中变量调解器的作用:在模板中需要对PHP分配过来的变量在输出之前,对变量进行处理 注册变量调解器方式:$smarty->registerPlugin("modifier&q ...

  6. Python修饰器的函数式编程

    Python的修饰器的英文名叫Decorator,当你看到这个英文名的时候,你可能会把其跟Design Pattern里的Decorator搞混了,其实这是完全不同的两个东西.虽然好像,他们要干的事都 ...

  7. Python修饰器

    Python的修饰器的英文名叫Decorator,当你看到这个英文名的时候,你可能会把其跟Design Pattern里的Decorator搞混了,其实这是完全不同的两个东西.虽然好像,他们要干的事都 ...

  8. Python_@修饰器(装饰器)的理解

    装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能. 装饰器的作用就是为已经存在的对象添加额外的功能. def funA(fun): print (fun( ...

  9. GLSL ES 中的存储变量修饰符(const/attribute/uniform/varying/in/centroid in/out/centroid out)

    GLSL ES 3.00 中支持的存储变量修饰符 变量名称 作用 示例 const 编译过程常量,或者函数的只读参数 const vec3 zAxis = vec3 (0.0, 0.0, 1.0); ...

随机推荐

  1. Git安装与配置——详细教程1

    1.下载Git客户端 想要安装Git首先要下载Git的安装包程序. Git安装包下载地址:https://git-scm.com/downloads/ 2.安装Git 双击安装程序进行安装: a. 欢 ...

  2. blinker语音控制Arduino/esp8266开关灯-滑动条使用-文本框交互

    总链接:  https://www.arduino.cn/thread-78393-1-1.html 语音控制:https://doc.blinker.app/?file=005-App%E4%BD% ...

  3. 使用zip.js压缩文件和解压文件

    zip.js官方网站为:https://stuk.github.io/jszip/ 在此说明,下面的例子基本上来自官方示例,大家可以做参考,官方示例地址为:https://stuk.github.io ...

  4. docker官方文档笔记

    Docker在 CentOS7.X上运行.Docker可能在其他EL7的兼容版本中成功安装,但是官方并未进行测试,因此也不提供任何支持. 系统环境要求 docker必须运行在64-bit的系统上,对于 ...

  5. #ifdef __cplusplus extern "C" { #endif”的定义

      平时我们在linux c平台开发的时候,引用了一些Cpp或者C的代码库,发现一些头文件有如下代码条件编译. #ifdef __cplusplus extern "C" { #e ...

  6. python中#!/usr/bin/python与#!/usr/bin/env python的区别

    目的是在运行python脚本的时候告诉操作系统我们要用python解释器去运行py脚本 所以我们在第一句往往会写如下两句中的其中一句: #!/usr/bin/python 或 >#!/usr/b ...

  7. SQL Server中比较末尾带有空格的字符串遇到的坑 (转载)

    最近发现SQLServer中比较字符串的时候 如果字符串末尾是空格 那么SQLServer会无视那些空格直接进行比较 这和程序中平时的字符串判断逻辑不统一 );set @a=N'happycat198 ...

  8. thymeleaf参考手册

    1.创建 html <!DOCTYPE html><html xmlns:th="http://www.thymeleaf.org"></html&g ...

  9. vue 中使用iconfont Unicode编码线上字体图标的流程

    1.打开http://www.iconfont.cn官网,搜索你想要的图标.添加字体图标到购物车,点击购物车然后添加至项目,点击确定 2.点击图标管理/我的项目,找到对应的文件,点击Unicode,然 ...

  10. java内存模型与volatile变量与Atomic的compareAndSet

    java分主内存和工作内存, 主内存是线程共享的, 工作内存是每个线程独有的. java对主内存的操作是通过工作内存间接完成的: 先拷贝主内存变量值到工作内存, 在工作内存操作这个变量的副本, 完成后 ...