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 相关文章推荐
PHP读写文件的方法(生成HTML)
Nov 27 PHP
使用PHP获取网络文件的实现代码
Jan 01 PHP
献给php初学者(入门学习经验谈)
Oct 12 PHP
PHP中获取内网用户MAC地址(WINDOWS/linux)的实现代码
Aug 11 PHP
php对称加密算法示例
May 07 PHP
PHP构造函数与析构函数用法示例
Sep 28 PHP
老生常谈PHP面向对象之命令模式(必看篇)
May 24 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
Feb 06 PHP
php-fpm中max_children的配置
Mar 15 PHP
php面向对象重点知识分享
Sep 27 PHP
使用laravel的migrate创建数据表的方法
Sep 30 PHP
在TP5数据库中四个字段实现无限分类的示例
Oct 18 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 mail to 配置详解
2014/01/16 PHP
JavaScript中SQL语句的应用实现
2010/05/04 Javascript
阻止子元素继承父元素事件具体思路及实现
2013/05/02 Javascript
JQuery表格内容过滤的实现方法
2013/07/05 Javascript
js快速排序的实现代码
2013/12/08 Javascript
JS中判断null、undefined与NaN的方法
2014/03/26 Javascript
js插件设置innerHTML时在IE8下提示“未知运行时错误”解决方法
2015/04/25 Javascript
jQuery插件开发精品教程让你的jQuery提升一个台阶
2016/01/27 Javascript
JavaScript  cookie 跨域访问之广告推广
2016/04/20 Javascript
基于zepto.js简单实现上传图片
2016/06/21 Javascript
微信小程序 侧滑删除(左滑删除)
2017/05/23 Javascript
浅谈Node Inspector 代理实现
2017/10/19 Javascript
vue-cli下的vuex的简单Demo图解(实现加1减1操作)
2018/02/26 Javascript
小程序组件之仿微信通讯录的实现代码
2018/09/12 Javascript
开发一个Parcel-vue脚手架工具(详细步骤)
2018/09/22 Javascript
Js实现粘贴上传图片的原理及示例
2020/12/09 Javascript
在Python的gevent框架下执行异步的Solr查询的教程
2015/04/16 Python
python实现支持目录FTP上传下载文件的方法
2015/06/03 Python
浅谈Python2获取中文文件名的编码问题
2018/01/09 Python
Python zip()函数用法实例分析
2018/03/17 Python
python manage.py runserver流程解析
2019/11/08 Python
Django 实现外键去除自动添加的后缀‘_id’
2019/11/15 Python
python在不同条件下的输入与输出
2020/02/13 Python
pycharm 中mark directory as exclude的用法详解
2020/02/14 Python
python批量修改文件名的示例
2020/09/27 Python
详解win10下pytorch-gpu安装以及CUDA详细安装过程
2021/01/28 Python
中国最大隐形眼镜网上商城:视客眼镜网
2016/10/30 全球购物
Hotter Shoes美国官网:英国最受欢迎的舒适鞋
2018/08/02 全球购物
HomeAway澳大利亚:预订你的度假屋,公寓、度假村、别墅等
2019/02/20 全球购物
安踏官方商城:anta.cn
2019/12/16 全球购物
初中物理教学反思
2014/01/14 职场文书
优秀民警事迹材料
2014/01/29 职场文书
保密普查工作实施方案
2014/02/25 职场文书
《青山处处埋忠骨》教学反思
2014/04/22 职场文书
幼儿园中班教师个人工作总结
2015/02/06 职场文书
同学聚会感言一句话
2015/07/30 职场文书