ThinkPHP 模板substr的截取字符串函数详解


Posted in PHP onJanuary 09, 2017

ThinkPHP 模板substr的截取字符串函数

在Common/function.php加上以下代码

/**
** 截取中文字符串
**/
function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true){
 if(function_exists("mb_substr")){
 $slice= mb_substr($str, $start, $length, $charset);
 }elseif(function_exists('iconv_substr')) {
 $slice= iconv_substr($str,$start,$length,$charset);
 }else{
 $re['utf-8'] = "/[x01-x7f]|[xc2-xdf][x80-xbf]|[xe0-xef][x80-xbf]{2}|[xf0-xff][x80-xbf]{3}/";
 $re['gb2312'] = "/[x01-x7f]|[xb0-xf7][xa0-xfe]/";
 $re['gbk'] = "/[x01-x7f]|[x81-xfe][x40-xfe]/";
 $re['big5'] = "/[x01-x7f]|[x81-xfe]([x40-x7e]|xa1-xfe])/";
 preg_match_all($re[$charset], $str, $match);
 $slice = join("",array_slice($match[0], $start, $length));
 } 
 $fix='';
 if(strlen($slice) < strlen($str)){
  $fix='...';
 }
 return $suffix ? $slice.$fix : $slice;
}

前端页面需要截取字符串时

{$v.title|msubstr=0,5}

/****************************案例****************************/

//新闻列表
 public function NewsList(){
 $this->assign('title','news');
 $p = I('page',1);
 $listRows = 10;
 $News = M('news');
 $info = $News->field('id,title,subtitle,publish_date,img,content')->where(array('type'=>'news','status'=>'1'))->order('flag desc,sort_no desc')->page($p,$listRows)->select();
 $this->assign('news',$info);
 $count = $News->where(array('type'=>'news','status'=>'1'))->count();
 $Page = new Page($count,$listRows);
 $show = $Page->show();
 $this->assign('page',$show);
 //var_dump($info);
 $this->display();
 }

ThinkPHP 模板substr的截取字符串函数详解

ThinkPHP 模板substr的截取字符串函数详解

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
ftp类(example.php)
Oct 09 PHP
main.php
Dec 09 PHP
dedecms 制作模板中使用的全局标记图文教程
Mar 11 PHP
中英文字符串翻转函数
Dec 09 PHP
php下把数组保存为文件格式的实例应用
Feb 08 PHP
PHP 多维数组排序(usort,uasort)
Jun 30 PHP
mysql,mysqli,PDO的各自不同介绍
Sep 19 PHP
php实现简单洗牌算法
Jun 18 PHP
THINKPHP项目开发中的日志记录实例分析
Dec 01 PHP
彻底删除thinkphp3.1案例blog标签的方法
Dec 05 PHP
php微信公众号开发之秒杀
Oct 20 PHP
thinkPHP5框架路由常用知识点汇总
Sep 15 PHP
php 访问oracle 存储过程实例详解
Jan 08 #PHP
微信开发之php表单微信中自动提交两次问题解决办法
Jan 08 #PHP
yii2-GridView在开发中常用的功能及技巧总结
Jan 07 #PHP
yii2实现分页,带搜索的分页功能示例
Jan 07 #PHP
Yii框架用户登录session丢失问题解决方法
Jan 07 #PHP
Yii框架表单提交验证功能分析
Jan 07 #PHP
Yii框架弹出框功能示例
Jan 07 #PHP
You might like
叶罗丽:为什么大家对颜冰这对CP非常关心,却对金茉两人十分冷漠
2020/03/17 国漫
PHP insert语法详解
2008/06/07 PHP
php使用curl并发减少后端访问时间的方法分析
2016/05/12 PHP
php版微信公众平台接口参数调试实现判断用户行为的方法
2016/09/23 PHP
PHP7新增运算符用法实例分析
2016/09/26 PHP
PHP中单例模式与工厂模式详解
2017/02/17 PHP
PHP实现二维数组(或多维数组)转换成一维数组的常见方法总结
2019/12/04 PHP
PHP网页缓存技术优点及代码实例
2020/07/29 PHP
JavaScript中的对象化编程
2008/01/16 Javascript
jQuery contains过滤器实现精确匹配使用方法
2013/04/12 Javascript
原生javaScript做得动态表格(注释写的很清楚)
2013/12/29 Javascript
一个简单的Node.js异步操作管理器分享
2014/04/29 Javascript
JavaScript中5种调用函数的方法
2015/03/12 Javascript
JavaScript中通过提示框跳转页面的方法
2016/02/14 Javascript
JS实现探测网站链接的方法【测试可用】
2016/11/08 Javascript
ionic cordova一次上传多张图片(类似input file提交表单)的实现方法
2016/12/16 Javascript
解决html input验证只能输入数字,不能输入其他的问题
2017/07/21 Javascript
AngularJS实现的锚点楼层跳转功能示例
2018/01/02 Javascript
React中常见的动画实现的几种方式
2018/01/10 Javascript
关于自定义Egg.js的请求级别日志详解
2018/12/12 Javascript
Vue实现一个图片懒加载插件
2019/03/11 Javascript
Vue 实现CLI 3.0 + momentjs + lodash打包时优化
2019/11/13 Javascript
JavaScript定时器使用方法详解
2020/03/26 Javascript
Python中矩阵创建和矩阵运算方法
2018/08/04 Python
Django-Model数据库操作(增删改查、连表结构)详解
2019/07/17 Python
Python上下文管理器全实例详解
2019/11/12 Python
Python嵌入C/C++进行开发详解
2020/06/09 Python
HTML5添加鼠标悬浮音响效果不使用FLASH
2014/04/23 HTML / CSS
大学生创业感言
2014/01/25 职场文书
村抢险救灾方案
2014/05/09 职场文书
运动会宣传口号
2014/06/09 职场文书
2014乡镇党政班子四风问题思想汇报
2014/09/14 职场文书
租房协议书范例
2014/10/14 职场文书
2015年机械设备管理工作总结
2015/05/04 职场文书
python绘制箱型图
2021/04/27 Python
Golang使用Panic与Recover进行错误捕获
2022/03/22 Golang