PbootCms扩展玩出花之个性化日期

前言

PbootCms默认的日期标签可以使用style=Y-m-d形式定制日期格式。这不是本着把扩展标签玩出花样的目的来搞一搞事情。(当然也是给各位做一个学习参考)

我想要的效果是,发布时间可以显示:

刚刚

1小时前;

昨天 几点几分;

前天 几点几分;

年月日 几点几分;

这样的一个个性化日期效果,具体效果可以看本文上方的标题。

开撸

主要功能的实现代码

    //转换日期    private function transtime(){        $pattern = '/\{transtime\s?\(([^\}]+)\)\}/';        if (preg_match($pattern, $this->content, $matches)) {            $this->content = preg_replace_callback(                $pattern,                function($matches){                    $time = strtotime($matches[1]);                  	$otime = date("Y-m-d H:i",$time);                    $rtime = date("m-d H:i",$time);                    $htime = date("H:i",$time);                     $time = time() - $time;                    if ($time < 60){                        $str = '刚刚';                    }                    elseif ($time < 60 * 60){                        $min = floor($time/60);                        $str = $min.'分钟前';                    }elseif ($time < 60 * 60 * 24){                        $h = floor($time/(60*60));                        $str = $h.'小时前 '.$htime;                    }elseif ($time < 60 * 60 * 24 * 3){                        $d = floor($time/(60*60*24));                        if($d==1)                            $str = '昨天 '.$rtime;                        else                            $str = '前天 '.$rtime;                    }else{                        $str = $otime;                    }                    return $str;                },                $this->content);        }    }

然后将该方法加入到run中执行即可。

    /* 必备启动函数 */    public function run($content)    {        // 接收数据        $this->content = $content;                //****************这里省略其他扩展,自行补充                //转换日期        $this->transtime();        // 返回数据        return $this->content;    }

调用方式

详情页:

{@transtime({content:date})}  记得把@去掉哦,我这里加@是防止被解析掉,你们看不到效果。

列表页(list标签中)

{@transtime([list:date])} 记得把@去掉哦,我这里加@是防止被解析掉,你们看不到效果。

注意事项

1、上面调用的@符号一定记得删掉。

2、调整扩展标签的执行顺序,之前的文章里有提到,请翻阅PbootCms扩展控制器源码分享

好了,收工。

本文由网友投稿或「聚码源码网」整理自网络,如转载请注明出处:http://www.jumaniu.com/11482/

本站发布的内容若侵犯到您的权益,请邮件联系 zhangqy2022#yeah.net 删除,我们将及时处理!

从您进入本站开始,已表示您已同意接受本站【免责声明】中的一切条款!

本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行研究。

本站资源仅供学习和交流使用,版权归原作者所有,请在下载后24小时之内自觉删除。

若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。

常见问题
  • 本站所有资源解压密码为:www.jumaniu.com 或 www.tdji.cn
查看详情

相关文章

评论
暂无评论