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 相关文章推荐
php5中类的学习
Mar 28 PHP
PHP 组件化编程技巧
Jun 06 PHP
一些被忽视的PHP函数(简单整理)
Apr 30 PHP
理解php原理的opcodes(操作码)
Oct 26 PHP
php仿QQ验证码的实例分析
Jul 01 PHP
支持中文、字母、数字的PHP验证码
May 04 PHP
PHP获取当前日期和时间及格式化方法参数
May 11 PHP
php使用socket post数据到其它web服务器的方法
Jun 02 PHP
PHP实现的文件操作类及文件下载功能示例
Dec 24 PHP
PHP中字符串长度的截取用法示例
Jan 12 PHP
PHP+swoole+linux实现系统监控和性能优化操作示例
Apr 15 PHP
如何重写Laravel异常处理类详解
Dec 20 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
PHP在XP下IIS和Apache2服务器上的安装
2006/09/05 PHP
在PHP中养成7个面向对象的好习惯
2010/01/28 PHP
PHP用SAX解析XML的实现代码与问题分析
2011/08/22 PHP
让CodeIgniter的ellipsize()支持中文截断的方法
2014/06/12 PHP
Yii框架ACF(accessController)简单权限控制操作示例
2019/04/26 PHP
js 事件小结 表格区别
2007/08/13 Javascript
Web开发者必备的12款超赞jQuery插件
2010/12/03 Javascript
Js日期选择自动填充到输入框(界面漂亮兼容火狐)
2013/08/02 Javascript
Javascript加载速度慢的解决方案
2014/03/11 Javascript
Jquery树插件zTree用法入门教程
2015/02/17 Javascript
AngularJs Scope详解及示例代码
2016/09/01 Javascript
老生常谈JavaScript中的this关键字
2016/10/01 Javascript
Canvas实现动态的雪花效果
2017/02/13 Javascript
深入理解javascript的getTime()方法
2017/02/16 Javascript
angular4中引入echarts的方法示例
2019/01/29 Javascript
JS前端知识点总结之内置对象,日期对象和定时器相关操作
2019/07/05 Javascript
vue动态禁用控件绑定disable的例子
2019/10/28 Javascript
JS实现躲避粒子小游戏
2020/06/18 Javascript
element-ui和vue表单(对话框)验证提示语(残留)清除操作
2020/09/11 Javascript
vscode+gulp轻松开发小程序的完整步骤
2020/10/18 Javascript
python读取oracle函数返回值
2016/07/18 Python
Python内置模块ConfigParser实现配置读写功能的方法
2018/02/12 Python
Python自然语言处理 NLTK 库用法入门教程【经典】
2018/06/26 Python
GitHub 热门:Python 算法大全,Star 超过 2 万
2019/04/29 Python
pytorch中的embedding词向量的使用方法
2019/08/18 Python
彪马荷兰官网:PUMA荷兰
2019/05/08 全球购物
数控专业应届生求职信
2013/11/27 职场文书
个人优缺点自我评价
2014/01/27 职场文书
《一个中国孩子的呼声》教学反思
2014/02/12 职场文书
2014年五四青年节活动方案
2014/03/29 职场文书
护校行动方案
2014/05/31 职场文书
打架赔偿协议书范本
2014/10/26 职场文书
酒店前台岗位职责
2015/04/16 职场文书
课文《燕子》教学反思
2016/02/17 职场文书
MySQL获取所有分类的前N条记录
2021/05/07 MySQL
Windows Server 2012 R2服务器安装与配置的完整步骤
2022/07/15 Servers