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 相关文章推荐
推荐文章系统(一)
Oct 09 PHP
PHP4与PHP3中一个不兼容问题的解决方法
Oct 09 PHP
基于mysql的论坛(5)
Oct 09 PHP
php 设计模式之 工厂模式
Dec 19 PHP
关于尾递归的使用详解
May 02 PHP
php xml常用函数的集合(比较详细)
Jun 06 PHP
ThinkPHP实现将本地文件打包成zip下载
Jun 26 PHP
php实现encode64编码类实例
Mar 24 PHP
PHP常见数组函数用法小结
Mar 21 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
Jul 19 PHP
thinkPHP5框架设置404、403等http状态页面的方法
Jun 05 PHP
PHP html_entity_decode()函数讲解
Feb 25 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之变量、常量学习笔记
2008/03/27 PHP
PHP 安全检测代码片段(分享)
2013/07/05 PHP
php精确的统计在线人数的方法
2015/10/21 PHP
PHP实现防盗链的方法分析
2017/07/25 PHP
PHP读取XML文件的方法实例总结【DOMDocument及simplexml方法】
2019/09/10 PHP
jquery.hotkeys监听键盘按下事件keydown插件
2014/05/11 Javascript
jQuery实现炫酷的鼠标轨迹特效
2015/02/01 Javascript
JS实现漂亮的淡蓝色滑动门效果代码
2015/09/23 Javascript
NodeJS中的MongoDB快速入门详细教程
2016/11/11 NodeJs
js实现定时进度条完成后切换图片
2017/01/04 Javascript
微信小程序图片选择、上传到服务器、预览(PHP)实现实例
2017/05/11 Javascript
Angular 4环境准备与Angular cli创建项目详解
2017/05/27 Javascript
js实现图片粘贴到网页
2019/12/06 Javascript
vue组件是如何解析及渲染的?
2021/01/13 Vue.js
Python中的super()方法使用简介
2015/08/14 Python
Python中MySQLdb和torndb模块对MySQL的断连问题处理
2015/11/09 Python
详解python 字符串和日期之间转换 StringAndDate
2017/05/04 Python
Python下使用Scrapy爬取网页内容的实例
2018/05/21 Python
Python简单爬虫导出CSV文件的实例讲解
2018/07/06 Python
django admin后台添加导出excel功能示例代码
2019/05/15 Python
Python 实现大整数乘法算法的示例代码
2019/09/17 Python
pycharm安装及如何导入numpy
2020/04/03 Python
Python figure参数及subplot子图绘制代码
2020/04/18 Python
Python定时任务APScheduler原理及实例解析
2020/05/30 Python
如何编写python的daemon程序
2021/01/07 Python
波兰数码相机及配件网上商店: Cyfrowe.pl
2017/06/19 全球购物
英国最大的LED专业零售商:Led Hut
2018/03/16 全球购物
马来西亚太阳镜、眼镜和隐形眼镜网上商店:Focus Point
2018/12/13 全球购物
仓库规划计划书
2014/04/28 职场文书
结婚保证书范文
2014/04/29 职场文书
2014年保洁员工作总结
2014/11/19 职场文书
2015年大学迎新工作总结
2015/07/16 职场文书
2015年车间管理工作总结
2015/07/23 职场文书
2016党风廉政建设心得体会范文
2016/01/25 职场文书
Apache Calcite 实现方言转换的代码
2021/04/24 Servers
python数据处理之Pandas类型转换
2022/04/28 Python