PHP学习之路之Smarty变量调节器

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/s390124971/article/details/52013154

虽然PHP有各种强大的函数可以很好的处理文本,但是有时,我们并不想在php业务层
处理好在注册到模板中去,而是在模板中直接处理。这时,我们就必须使用Smarty变量调
节器。

{$name|capitalize}<br /><!--capitalize将字符串里的单词首字母大写-->
        {$name|truncate:27:""}<br /><!--truncate截取字符串:""表示用空格来表示后面的内容-->
        {$name|truncate:27:""|upper}<br /><!--upper将字母全部全换为大写-->
        {$name|count_characters:true}<br /><!--count_characters计数字符统计字符的个数:true包含空格-->
        {$name|cat:'shao'}<br /><!--cat连接字符串-->
        {$name|count_paragraphs}<br /><!--count_paragraphs计算段数-->
        {$name|count_sentences}<br /><!--count_sentences统计句子数必须是以英文句(.)号结尾-->
        {$name|count_words}<br /><!--count_words计算单词数-->
        {$smarty.now|date_format:'%Y-%m-%d %H:%M:%S'}<br /><!--date_format格式化日期-->
        {$name|default:'没有任何数据'}<br /><!--default当变量没有任何数据的时候显示引号内的数据-->
        {$name|escape:'url'}<!--escape指定编码格式默认为html格式:'url'为指定格式-->
        {$name|indent:20:'&nbsp;'}<br /><!--indent字符缩进只在源代码中可以看到效果:''可以指定缩进的字符-->
        {$name|lower}<br /><!--lower将所有英文单词小写-->
        {$name|nl2br}<br /><!--nl2br将换行符转化为<br/>在源代码中体现-->
        {$name|regex_replace:'/javascript/':'vbscript'}<!--regex_replace字符串替换如果换行的话肯能替换失败
            中间可以采用正则表达式
        -->
        {$name|spacify:"@"}<br /><!--spacify插空每个字符中添加一个字符-->
        {$name|string_format:'%.4f'}<br /><!--数字格式化-->
        {$name|strip}<br /><!--strip去除多余空格-->
        {$name|strip_tags}<br /><!--strip_tags去除html标签-->

HTML效果
这里写图片描述
按插件自定义变量调节器
如 果 是 变 量 调 节 器 插 件 , 文 件 必 须 放 在 插 件 目 录 (plugins) , 文 件 名 必 须 是
modifier.xxx.php,里面的函数名必须是smarty_modifier_xxx($string)。
新建modifier.shao.php文件

//该函数用来截取字符串长度
function smarty_modifier_shao($_str,$_length,$_encoding)
{
    if (mb_strlen($_str) > $_length) {
        return mb_substr($_str,0,$_length,$_encoding).'...';
    } else {
        return mb_substr($_str,0,$_length,$_encoding);
    }
}

使用方法

    {$name|shao:'20':'utf-8'}<br />

效果:这里写图片描述

展开阅读全文

没有更多推荐了,返回首页