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
php设计模式 Adapter(适配器模式)
Jun 26 PHP
『PHP』PHP截断函数mb_substr()使用介绍
Apr 22 PHP
php禁止直接从浏览器输入地址访问.php文件的方法
Nov 04 PHP
PHP人民币金额转大写实例代码
Oct 02 PHP
基于PHP如何把汉字转化为拼音
Dec 11 PHP
给WordPress的编辑后台添加提示框的代码实例分享
Dec 25 PHP
PHP获取二维数组中某一列的值集合
Dec 25 PHP
理解php依赖注入和控制反转
May 11 PHP
php正则提取html图片(img)src地址与任意属性的方法
Feb 08 PHP
form表单传递数组数据、php脚本接收的实例
Feb 09 PHP
thinkPHP框架实现的短信接口验证码功能示例
Jun 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
Zend Studio去除编辑器的语法警告设置方法
2012/10/24 PHP
解析dedecms空间迁移步骤详解
2013/05/15 PHP
ThinkPHP3.2.3数据库设置新特性
2015/03/05 PHP
php导出生成word的方法
2015/12/25 PHP
PHP使用mysql与mysqli连接Mysql数据库用法示例
2016/07/07 PHP
PHP编程实现脚本异步执行的方法
2017/08/09 PHP
php apache开启跨域模式过程详解
2019/07/08 PHP
拖拉表格的JS函数
2008/11/20 Javascript
jQuery ui插件的使用方法代码实例
2013/05/08 Javascript
简单时间提示DEMO从0开始一直进行计时
2013/11/19 Javascript
javascript操作html控件实例(javascript添加html)
2013/12/02 Javascript
归纳下js面向对象的几种常见写法总结
2016/08/24 Javascript
从零学习node.js之express入门(六)
2017/02/25 Javascript
详解VueJs异步动态加载块
2017/03/09 Javascript
浅谈struts1 &amp; jquery form 文件异步上传
2017/05/25 jQuery
修改 bootstrap table 默认detailRow样式的实例代码
2017/07/21 Javascript
实例详解vue.js浅度监听和深度监听及watch用法
2018/08/16 Javascript
微信小程序实现列表页的点赞和取消点赞功能
2018/11/02 Javascript
JavaScript实现的开关灯泡点击切换特效示例
2019/07/08 Javascript
Vue中强制组件重新渲染的正确方法
2021/01/03 Vue.js
[55:42]VG vs VGJ.T 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
python生成指定长度的随机数密码
2014/01/23 Python
django之自定义软删除Model的方法
2019/08/14 Python
解决Alexnet训练模型在每个epoch中准确率和loss都会一升一降问题
2020/06/17 Python
解决python 执行shell命令无法获取返回值的问题
2020/12/05 Python
使用HTML5 IndexDB存储图像和文件的示例
2018/11/05 HTML / CSS
国际领先的学术出版商:Springer
2017/01/11 全球购物
世界各地的当地人的食物体验:Eatwith
2019/07/26 全球购物
基层党组织公开承诺书
2014/03/28 职场文书
日语专业毕业生自荐书
2014/06/18 职场文书
支部书记四风问题自我剖析材料
2014/09/29 职场文书
2014年化工厂工作总结
2014/11/25 职场文书
主题班会开场白
2015/06/01 职场文书
巴黎圣母院观后感
2015/06/10 职场文书
pandas提升计算效率的一些方法汇总
2021/05/30 Python
漫画「狩龙人拉格纳」公开TV动画预告图
2022/03/22 日漫