1. php模板引擎smarty的变量操作符可用于操作变量,自定义函数和字符。
    语法中使用"|"应用变量操作符,多个参数用":"??指簟?/DIV>
    capitalize[首字母大写]
    count_characters[计算字符数]
    cat[连接字符串]
    count_paragraphs[计算段落数]
    count_sentences[计算句数]
    count_words[计算词数]
    date_format[时间格式]
    default[默认]
    escape[转码]
    indent[缩进]
    lower[小写 ]
    nl2br[换行符替换成<br />]
    regex_replace[正则替换]
    replace[替换]
    spacify[插空]
    string_format[字符串格式化]
    strip[去除(多余空格)]
    strip_tags[去除html标签]
    truncate[截取]
    upper[大写]
    wordwrap[行宽约束]
    组合使用多个操作符
    实例:
    {* 标题大写 *}
    <h2>{$title|upper}</h2>

    {* 取其前40个字符 *}
    Topic: {$topic|truncate:40:"..."}

    {* 格式化文字串 *}
    {"now"|date_format:"%Y/%m/%d"}

    {* 在自定义函数里应用调节器 *}
    {mailto|upper address="main@cn-web.com"}
    capitalize(首字母大写)
    index.php:

    $smarty = new Smarty;
    $smarty->assign('articleTitle', 'Police begin campaign to rundown jaywalkers.');
    $smarty->display('index.tpl');

    index.tpl:

    {$articleTitle}
    {$articleTitle|capitalize}

    OUTPUT:

    Police begin campaign to rundown jaywalkers.
    Police Begin Campaign To Rundown Jaywalkers.

    count_characters(计算变量里的字符数)

    index.php:

    $smarty = new Smarty;
    $smarty->assign('articleTitle', 'Cold Wave Linked to Temperatures.');
    $smarty->display('index.tpl');

    index.tpl:

    {$articleTitle}
    {$articleTitle|count_characters}

    OUTPUT:

    Cold Wave Linked to Temperatures.
    32
    cat(连接字符串)
    将cat里的值连接到给定的变量后面
    index.php:

    $smarty = new Smarty;
    $smarty->assign('articleTitle', 'Psychics predict world didn't end');
    $smarty->display('index.tpl');

    index.tpl:

    {$articleTitle|cat:" yesterday."}

    OUTPUT:

    Psychics predict world didn't end yesterday.

    count_paragraphs(计算段数)
    计算变量里的段落数量
    index.php:

    $smarty = new Smarty;
    $smarty->assign('articleTitle', 'War Dims Hope for Peace. Child's Death Ruins Couple's Holiday.');
    $smarty->display('index.tpl');

    index.tpl:

    {$articleTitle}
    {$articleTitle|count_paragraphs}

    OUTPUT:

    War Dims Hope for Peace. Child's Death Ruins Couple's Holiday.

    Man is Fatally Slain. Death Causes Loneliness, Feeling of Isolation.
    2

    count_sentences(计算句数)
    计算变量里句子的数量
    index.php:

    $smarty = new Smarty;
    $smarty->assign('articleTitle', 'Two Soviet Ships Collide - One Dies. Enraged Cow Injures Farmer with Axe.');
    $smarty->display('index.tpl');

    index.tpl:

    {$articleTitle}
    {$articleTitle|count_sentences}

    OUTPUT:

    Two Soviet Ships Collide - One Dies. Enraged Cow Injures Farmer with Axe.
    2
    count_words(计算词数)
    计算变量里的词数
    index.php:

    $smarty = new Smarty;
    $smarty->assign('articleTitle', 'Dealers Will Hear Car Talk at Noon.');
    $smarty->display('index.tpl');

    index.tpl:

    {$articleTitle}
    {$articleTitle|count_words}

    OUTPUT:

    Dealers Will Hear Car Talk at Noon.
    7
    date_format(日期格式)
    Parameter Position
    参数位置 Type Required Default Description
    1 string No %b %e, %Y This is the format for the outputted date.
    输出字串的格式
    2 string No n/a This is the default date if the input is empty.
    输入为空时的默认设置

    在给定的函数serftime();里格式日期和时间.
    Unix或者mysql等的时间戳(parsable by strtotime)都可以传递到smarty.
    设计者可以使用date_format完全控制日期格式.
    如果传给date_format的数据是空的,将使用第二个参数作为时间格式
    index.php:

    $smarty = new Smarty;
    $smarty->assign('yesterday', strtotime('-1 day'));
    $smarty->display('index.tpl');

    index.tpl:

    {$smarty.now|date_format}
    {$smarty.now|date_format:"%A, %B %e, %Y"}
    {$smarty.now|date_format:"%H:%M:%S"}
    {$yesterday|date_format}
    {$yesterday|date_format:"%A, %B %e, %Y"}
    {$yesterday|date_format:"%H:%M:%S"}

    OUTPUT:

    Feb 6, 2001
    Tuesday, February 6, 2001
    14:33:00
    Feb 5, 2001
    Monday, February 5, 2001
    14:33:00

    default(默认)
    Parameter Position Type Required Default Description
    1 string No empty This is the default value to output if the variable is empty.
    这是变量为空的时候的默认输出

    为空变量设置一个默认值.
    当变量为空或者未分配的时候,将由给定的默认值替代输出.
    index.php:

    $smarty = new Smarty;
    $smarty->assign('articleTitle', 'Dealers Will Hear Car Talk at Noon.');
    $smarty->display('index.tpl');

    index.tpl:

    {$articleTitle|default:"no title"}
    {$myTitle|default:"no title"}

    OUTPUT:

    Dealers Will Hear Car Talk at Noon.
    no title

    escape(转码)
    Parameter Position Type Required Possible Values Default Description
    1 string No html,htmlall,url,quotes,hex,hexentity,javascript html This is the escape format to use.
    用于html转码,url转码,在没有转码的变量上转换单引号,十六进制转码,十六进制美化,或者javascript转码.
    默认是html转码
    index.php:

    $smarty = new Smarty;

    $smarty->assign('articleTitle', "'Stiff Opposition Expected to Casketless Funeral Plan'");

    $smarty->display('index.tpl');

    index.tpl:

    {$articleTitle}

    {$articleTitle|escape}

    {$articleTitle|escape:"html"} {* escapes & " ' < > *}

    {$articleTitle|escape:"htmlall"} {* escapes ALL html entities *}

    {$articleTitle|escape:"url"}

    {$articleTitle|escape:"quotes"}

    <a

    href="{$EmailAddress|escape:"hexentity"}mailto:{$EmailAddress|escape:"hex"}">{$EmailAddress|escape:"hexentity"}</a>

    OUTPUT:

    'Stiff Opposition Expected to Casketless Funeral Plan'

    'Stiff%20Opposition%20Expected%20to%20Casketless%20Funeral%20Plan'

    'Stiff%20Opposition%20Expected%20to%20Casketless%20Funeral%20Plan'

    'Stiff%20Opposition%20Expected%20to%20Casketless%20Funeral%20Plan'

    'Stiff+Opposition+Expected+to+Casketless+Funeral+Plan'

    'Stiff Opposition Expected to Casketless Funeral Plan'

    <a

    href="bob@me.netmailto:%62%6f%62%40%6d%65%2e%6e%65%74">bob@me.net</a>

    indent(缩进)
    Parameter Position Type Required Default Description
    1 integer No 4 This determines how many characters to indent to.
    2 string No (one space) This is the character used to indent with.

    在每行缩进字符串,默认是4个字符(pear标准也是).
    作为可选参数,你可以指定缩进字符数.
    作为第二个可选参数,你可以指定缩进用什么字符代替
    index.php:

    $smarty = new Smarty;

    $smarty->assign('articleTitle', 'NJ judge to rule on nude beach.');

    $smarty->display('index.tpl');

    index.tpl:

    {$articleTitle}

    {$articleTitle|indent}

    {$articleTitle|indent:10}

    {$articleTitle|indent:1:"t"}

    OUTPUT:

    NJ judge to rule on nude beach.

    Sun or rain expected today, dark tonight.

    Statistics show that teen pregnancy drops off significantly after 25.

    NJ judge to rule on nude beach.

    Sun or rain expected today, dark tonight.

    Statistics show that teen pregnancy drops off significantly after 25.

    NJ judge to rule on nude beach.

    Sun or rain expected today, dark tonight.

    Statistics show that teen pregnancy drops off significantly after 25.

    NJ judge to rule on nude beach.

    Sun or rain expected today, dark tonight.

    Statistics show that teen pregnancy drops off significantly after 25.

    lower(小写)
    将变量字符串小写
    index.php:

    $smarty = new Smarty;

    $smarty->assign('articleTitle', 'Two Convicts Evade Noose, Jury Hung.');

    $smarty->display('index.tpl');

    index.tpl:

    {$articleTitle}

    {$articleTitle|lower}

    OUTPUT:

    Two Convicts Evade Noose, Jury Hung.

    two convicts evade noose, jury hung.

    nl2br(换行符替换成<br /> )
    所有的换行符将被替换成 <br />.同php的nl2br()函数一样.
    index.php:

    $smarty = new Smarty;

    $smarty->assign('articleTitle', "Sun or rain expectedntoday, dark tonight");

    $smarty->display('index.tpl');

    index.tpl:

    {$articleTitle|nl2br}

    OUTPUT:

    Sun or rain expected<br />today, dark tonight

    regex_replace(正则替换)
    寻找和替换正则表达式 .
    Parameter Position Type Required Default Description
    1 string Yes n/a This is the regular expression to be replaced.
    替换正则表达式.

    2 string Yes n/a This is the string of text to replace with.
    使用什么文本字串来替换

    index.php:

    $smarty = new Smarty;

    $smarty->assign('articleTitle', "Infertility unlikely tonbe passed on, experts say.");

    $smarty->display('index.tpl');

    index.tpl:

    {* replace each carriage return, tab & new line with a space *}{* 使用空格替换每个回车,tab,和换行符 *}

    {$articleTitle}

    {$articleTitle|regex_replace:"/[rtn]/":" "}

    OUTPUT:

    Infertility unlikely to

    be passed on, experts say.

    Infertility unlikely to be passed on, experts say.

    replace(替换)
    简单的搜索和替换字符串
    Parameter Position Type Required Default Description
    1 string Yes n/a This is the string of text to be replaced.
    将被替换的字符串
    2 string Yes n/a This is the string of text to replace with.
    用来替换的文本

    index.php:

    $smarty = new Smarty;

    $smarty->assign('articleTitle', "Child's Stool Great for Use in Garden.");

    $smarty->display('index.tpl');

    index.tpl:

    {$articleTitle}

    {$articleTitle|replace:"Garden":"Vineyard"}

    {$articleTitle|replace:" ":" "}

    OUTPUT:

    Child's Stool Great for Use in Garden.

    Child's Stool Great for Use in Vineyard.

    Child's Stool Great for Use in Garden.

    spacify
    是一种在字符串的每个字符之间插入空格或者插入其他的字符(串).
    index.php:

    $smarty = new Smarty;

    $smarty->assign('articleTitle', 'Something Went Wrong in Jet Crash, Experts Say.');

    $smarty->display('index.tpl');

    index.tpl:

    {$articleTitle}

    {$articleTitle|spacify}

    {$articleTitle|spacify:"^^"}

    OUTPUT:

    Something Went Wrong in Jet Crash, Experts Say.

    S o m e t h i n g W e n t W r o n g i n J e t C r a s h , E x p e r t s S a y .

    S^^o^^m^^e^^t^^h^^i^^n^^g^^ ^^W^^e^^n^^t^^ ^^W^^r^^o^^n^^g^^ ^^i^^n^^ ^^J^^e^^t^^ ^^C^^r^^a^^s^^h^^,^^ ^^E^^x^^p^^e^^r^^t^^s^^ ^^S^^a^^y^^.

    string_format(字符串格式化)
    Parameter Position Type Required Default Description
    1 string Yes n/a This is what format to use. (sprintf)
    使用的格式化方式

    是一种格式化浮点数的方法.例如十进制数.使用sprintf语法格式化

    index.php:

    $smarty = new Smarty;

    $smarty->assign('number', 23.5787446);

    $smarty->display('index.tpl');

    index.tpl:

    {$number}

    {$number|string_format:"%.2f"}

    {$number|string_format:"%d"}

    OUTPUT:

    23.5787446

    23.58

    24

    strip(去除(多余空格)
    替换所有重复的空格,换行和tab为单个.
    index.php:

    $smarty = new Smarty;

    $smarty->assign('articleTitle', "Grandmother ofneight makest hole in one.");

    $smarty->display('index.tpl');

    index.tpl:

    {$articleTitle}

    {$articleTitle|strip}

    {$articleTitle|strip:"&nbsp;"}

    OUTPUT:

    Grandmother of

    eight makes hole in one.

    Grandmother of eight makes hole in one.

    Grandmother&nbsp;of&nbsp;eight&nbsp;makes&nbsp;hole&nbsp;in&nbsp;one.

    strip_tags(去除html标签)
    去除在<和>之间的所有标签,包括<和>.
    index.php:

    $smarty = new Smarty;

    $smarty->assign('articleTitle', "Blind Woman Gets <font face="helvetica">New Kidney</font> from Dad she Hasn't Seen in <b>years</b>.");

    $smarty->display('index.tpl');

    index.tpl:

    {$articleTitle}

    {$articleTitle|strip_tags}

    OUTPUT:

    Blind Woman Gets <font face="helvetica">New Kidney</font> from Dad she Hasn't Seen in <b>years</b>.

    Blind Woman Gets New Kidney from Dad she Hasn't Seen in years.

    truncate(截取)
    Parameter Position Type Required Default Description
    1 integer No 80 This determines how many characters to truncate to.
    指定截取多少字符
    2 string No ... This is the text to append if truncation occurs.
    截取后加在截取词后的字符串
    3 boolean No false This determines whether or not to truncate at a word boundary (false), or at the exact character (true).
    检查是否截取到词的边界

    截取字符串开始的一段.默认是80个.
    你可以指定第二个参数作为在截取的那段字符串后加上什么字符.
    默认情况下,smarty会截取到一个词的末尾,
    如果你想要精确的截取多少个字符,把第三个参数改为"true"

    index.php:

    $smarty = new Smarty;

    $smarty->assign('articleTitle', 'Two Sisters Reunite after Eighteen Years at Checkout Counter.');

    $smarty->display('index.tpl');

    index.tpl:

    {$articleTitle}

    {$articleTitle|truncate}

    {$articleTitle|truncate:30}

    {$articleTitle|truncate:30:""}

    {$articleTitle|truncate:30:"---"}

    {$articleTitle|truncate:30:"":true}

    {$articleTitle|truncate:30:"...":true}

    OUTPUT:

    Two Sisters Reunite after Eighteen Years at Checkout Counter.

    Two Sisters Reunite after Eighteen Years at Checkout Counter.

    Two Sisters Reunite after...

    Two Sisters Reunite after

    Two Sisters Reunite after---

    Two Sisters Reunite after Eigh

    Two Sisters Reunite after E...

    upper(大写 )
    将变量改为大写
    index.php:

    $smarty = new Smarty;

    $smarty->assign('articleTitle', "If Strike isn't Settled Quickly it may Last a While.");

    $smarty->display('index.tpl');

    index.tpl:

    {$articleTitle}

    {$articleTitle|upper}

    OUTPUT:

    If Strike isn't Settled Quickly it may Last a While.

    IF STRIKE ISN'T SETTLED QUICKLY IT MAY LAST A WHILE.

    wordwrap(行宽约束)
    可以指定段落的宽度(也就是多少个字符一行,超过这个字符数换行).默认80.
    第二个参数可选,可以指定在约束点使用什么字符(默认是换行符n).
    默认情况下smarty将截取到词尾,你也可以指定精确截取多少个字符
    Parameter Position Type Required Default Description
    1 integer No 80 This determines how many columns to wrap to.
    指 定段落(句子)的宽度
    2 string No n This is the string used to wrap words with.
    使用什么字符约束
    3 boolean No false This determines whether or not to wrap at a word boundary (false), or at the exact character (true).
    是否精确约束到字符

    index.php:
    $smarty = new Smarty;
    $smarty->assign('articleTitle', "Blind woman gets new kidney from dad she hasn't seen in years.");
    $smarty->display('index.tpl');
    index.tpl:
    {$articleTitle}
    {$articleTitle|wordwrap:30}
    {$articleTitle|wordwrap:20}
    {$articleTitle|wordwrap:30:"<br>n"}
    {$articleTitle|wordwrap:30:"n":true}
    OUTPUT:
    Blind woman gets new kidney from dad she hasn't seen in years.
    Blind woman gets new kidney
    from dad she hasn't seen in
    years.
    Blind woman gets new
    kidney from dad she
    hasn't seen in
    years.
    Blind woman gets new kidney<br>
    from dad she hasn't seen in years.
    Blind woman gets new kidney fr
    om dad she hasn't seen in year
    s.

    组合使用多个操作符
    可以在一个变量上应用操作符,它们将从左到右依次组合应用.多个操作符必须用"|"符号分开.
    index.php:

    $smarty = new Smarty;
    $smarty->assign('articleTitle', 'Smokers are Productive, but Death Cuts Efficiency.');
    $smarty->display('index.tpl');

    index.tpl:
    {$articleTitle}
    {$articleTitle|upper|spacify}
    {$articleTitle|lower|spacify|truncate}
    {$articleTitle|lower|truncate:30|spacify}
    {$articleTitle|lower|spacify|truncate:30:". . ."}

    OUTPUT:

    Smokers are Productive, but Death Cuts Efficiency.
    S M O K E R S A R E P R O D U C T I V E , B U T D E A T H C U T S E F F I C I E N C Y .
    s m o k e r s a r e p r o d u c t i v e , b u t d e a t h c u t s...
    s m o k e r s a r e p r o d u c t i v e , b u t . . .
    s m o k e r s a r e p. . .

常用Smarty变量操作符相关推荐

  1. cmake 常用变量和常用环境变量查表手册

    cmake 常用变量和常用环境变量查表手册 一,cmake 变量引用的方式: 前面我们已经提到了,使用${}进行变量的引用.在 IF 等语句中,是直接使用变量名而不通过${}取值 二,cmake 自定 ...

  2. shell中常用系统变量和条件判断

    常用系统变量 $0 当前程序的名称 $n 当前程序的第n个参数,n=1,2,-9 $* 当前程序的所有参数(不包括程序本身) $# 当前程序的参数个数(不包括程序本身) $$ 当前程序的PID $!  ...

  3. 【Tools】cmake 常用变量和常用环境变量查表手册---整理

    原文链接:https://blog.csdn.net/gubenpeiyuan/article/details/8667279 一.cmake 变量引用的方式: 前面我们已经提到了,使用${}进行变量 ...

  4. [NOTE] WindowsLinux常用环境变量

    [NOTE] Windows&Linux常用环境变量 需要说明下的是,环境变量分系统级和用户级 一般来说,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户 ...

  5. cmake 常用变量和常用环境变量

    一,cmake 变量引用的方式: 前面我们已经提到了,使用${}进行变量的引用.在 IF 等语句中,是直接使用变量名而不通过${}取值 二,cmake 自定义变量的方式: 主要有隐式定义和显式定义两种 ...

  6. postgresql常用函数及操作符及类型转换

    为什么80%的码农都做不了架构师?>>>    一.逻辑操作符: 常用的逻辑操作符有:AND.OR和NOT.其语义与其它编程语言中的逻辑操作符完全相同. 二.比较操作符: 下面是Po ...

  7. GitLab CI/CD中的常用预设变量

    导言 在GitLab CI/CD中有很多官方预设的变量,这些变量极大地扩展了流水线的功能,比如有一个预设变量为 CI,在GitLab CI/CD的流水线中它的值始终为true,用于表明当前的运行环境是 ...

  8. c语言内生变量,在经济分析中常用的变量有内生变量与()。 A.存量 B.流量 C.变量 D.外生变量...

    在经济分析中常用的变量有内生变量与(). A.存量 B.流量 C.变量 D.外生变量 更多相关问题 车辆识别代码(VIN)编码的第十位表示的是检验代码. 患者女,26岁,下肢急性淋巴管炎,查体见肢体肿 ...

  9. hadoop 常用环境变量及使用

    hadoop 常用环境变量及使用 HADOOP_HOME 计算节点上配置的Hadoop路径 LD_LIBRARY_PATH 计算节点上加载库文件的路径列表 PWD 当前工作目录 dfs_block_s ...

最新文章

  1. Linux下 C语言统计时间差
  2. 单分子测序揭示鹦鹉模仿能力
  3. SQL SERVER的统计信息
  4. 深入解析Linux中的fork函数
  5. c语言char类型溢出,C语言中数据溢出的问题---以char类型为例
  6. jzoj3859-孤独一生【dp,树状数组】
  7. MEncoder 使用实例
  8. Lackey:一个示例工具
  9. 编译原理第三版 作业一
  10. ArcGIS创建拓扑
  11. 思科 Packet Tracer 实验七 DHCP基本配置
  12. 如何搭建一个论坛社区网站?
  13. 阿里P7亲自教你!昆明java招聘信息
  14. 五级自动驾驶分级_关于确保自动驾驶汽车安全的五件事
  15. 20220624 登录和代理ip
  16. 基于SVM支持向量机的车牌分割识别算法matlab仿真——详细版
  17. Unity3D网络游戏实战——通用服务器框架
  18. 数据结构的逻辑结构及物理结构
  19. 蚂蚁分类信息系统5.9SE多城市版去除域名限制
  20. CSDN仅粉丝可见功能无限期下线

热门文章

  1. 24 WM配置-策略-入库策略4-定义空存储箱策略L(Next Empty Bin Strategy)
  2. 31 SD配置-主数据-信用管理-定义自动信贷控制
  3. 22 PP配置-生产车间控制-定义工单类型
  4. 43 FI配置-财务会计-固定资产-一般评估-定义折旧范围
  5. safari only css hack,css hack将Safari和Chrome同时作为目标单独使用
  6. 使用PyCharm连接云主机教程
  7. Linux定期执行xshell脚本(入门)
  8. vue二维码生成插件 - npm安装篇
  9. android 高帧模式,达人分享技巧 手动让安卓机支持王者荣耀高帧率
  10. 骏飞H5幸运刮刮乐源码