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 相关文章推荐
一个没有MYSQL数据库支持的简易留言本的编写
Oct 09 PHP
php仿ZOL分页类代码
Oct 02 PHP
PHP 字符串 小常识
Jun 05 PHP
php中函数的形参与实参的问题说明
Sep 01 PHP
解析:通过php socket并借助telnet实现简单的聊天程序
Jun 18 PHP
smarty模板引擎中变量及变量修饰器用法实例
Jan 22 PHP
PHP中字符安全过滤函数使用小结
Feb 25 PHP
JavaScript与HTML结合的基本使用方法整理
Oct 12 PHP
PHP入门教程之表单与验证实例详解
Sep 11 PHP
PHP实现文件上传下载实例
Oct 18 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
Nov 14 PHP
PHP 实现手机端APP支付宝支付功能
Jun 07 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
Linux下PHP连接Oracle数据库
2014/08/20 PHP
10个简化PHP开发的工具
2014/12/25 PHP
解析WordPress中控制用户登陆和判断用户登陆的PHP函数
2016/03/01 PHP
PHP回调函数概念与用法实例分析
2017/11/03 PHP
PHP将整数数字转换为罗马数字实例分享
2019/03/17 PHP
Laravel框架学习笔记之批量更新数据功能
2019/05/30 PHP
ajax异步刷新实现更新数据库
2012/12/03 Javascript
jQuery 关于伪类选择符的使用说明
2013/04/24 Javascript
js获取或设置当前窗口url参数的小例子
2013/10/14 Javascript
jQuery异步验证用户名是否存在示例代码
2014/05/21 Javascript
js如何判断用户是否是用微信浏览器
2014/06/05 Javascript
vue 项目如何引入微信sdk接口的方法
2017/12/18 Javascript
详解关于element级联选择器数据回显问题
2019/02/20 Javascript
详解微信小程序中var、let、const用法与区别
2020/01/11 Javascript
Python中的字符串类型基本知识学习教程
2016/02/04 Python
python中类和实例如何绑定属性与方法示例详解
2017/08/18 Python
Python的地形三维可视化Matplotlib和gdal使用实例
2017/12/09 Python
删除python pandas.DataFrame 的多重index实例
2018/06/08 Python
Python 中导入csv数据的三种方法
2018/11/01 Python
python框架django项目部署相关知识详解
2019/11/04 Python
Python3爬虫中识别图形验证码的实例讲解
2020/07/30 Python
用CSS3绘制三角形的简单方法
2015/07/17 HTML / CSS
Aurora London官网:奢华、负担得起的皮革手袋
2020/08/01 全球购物
商务助理求职信范文
2014/04/20 职场文书
《鸿门宴》教学反思
2014/04/22 职场文书
扬尘污染防治方案
2014/06/15 职场文书
公务员党员评议表自我鉴定
2014/09/14 职场文书
离婚协议书怎么写
2015/01/26 职场文书
2015年爱牙日活动总结
2015/03/23 职场文书
和领导吃饭祝酒词
2015/08/11 职场文书
防止web项目中的SQL注入
2021/12/06 MySQL
MySQL之MyISAM存储引擎的非聚簇索引详解
2022/03/03 MySQL
德劲DE1107指针试高灵敏度全波段收音机机评
2022/04/05 无线电
使用vuex-persistedstate本地存储vuex
2022/04/29 Vue.js
Java版 单机五子棋
2022/05/04 Java/Android
MyBatis核心源码深度剖析SQL语句执行过程
2022/05/20 Java/Android