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登陆后跳转到登陆前页面实现思路及代码
Jan 17 PHP
PHP的一个完美GIF等比缩放类,附带去除缩放黑背景
Apr 01 PHP
php cookie名使用点号(句号)会被转换
Oct 23 PHP
thinkphp浏览历史功能实现方法
Oct 29 PHP
php源码分析之DZX1.5加密解密函数authcode用法
Jun 17 PHP
解读PHP的Yii框架中请求与响应的处理流程
Mar 17 PHP
Yii2中如何使用modal弹窗(基本使用)
May 30 PHP
PHP5.4起内置web服务器使用方法
Aug 09 PHP
php网页版聊天软件实现代码
Aug 12 PHP
php通过pecl方式安装扩展的实例讲解
Feb 02 PHP
PHP+Redis链表解决高并发下商品超卖问题(实现原理及步骤)
Aug 03 PHP
Yii 实现数据加密和解密
Mar 09 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
destoon之一键登录设置
2014/06/21 PHP
PHP实现文件上传和多文件上传
2015/12/24 PHP
利用php + Laravel如何实现部署自动化详解
2017/10/11 PHP
laravel框架select2多选插件初始化默认选中项操作示例
2020/02/18 PHP
纯JS实现的批量图片预览加载功能
2011/08/14 Javascript
js禁止页面使用右键(简单示例代码)
2013/11/13 Javascript
调试代码导致IE出错的避免方法
2014/04/04 Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(二)
2016/02/16 Javascript
深入浅析JavaScript中的scrollTop
2016/07/11 Javascript
jQuery实现的右下角广告窗体跟随效果示例
2016/09/16 Javascript
jquery checkbox的相关操作总结
2016/10/17 Javascript
微信小程序 数据遍历的实现
2017/04/05 Javascript
基于bootstrop常用类总结(推荐)
2017/09/11 Javascript
Vue 中批量下载文件并打包的示例代码
2017/11/20 Javascript
从0搭建vue-cli4脚手架
2020/06/17 Javascript
[03:02]2014DOTA2西雅图邀请赛 让队员自己告诉你DK NAVI备战情况
2014/07/08 DOTA
python中enumerate的用法实例解析
2014/08/18 Python
在Python中进行自动化单元测试的教程
2015/04/15 Python
Python中 传递值 和 传递引用 的区别解析
2018/02/22 Python
python实现两张图片的像素融合
2019/02/23 Python
python3获取url文件大小示例代码
2019/09/18 Python
Python嵌套函数,作用域与偏函数用法实例分析
2019/12/26 Python
Python使用QQ邮箱发送邮件实例与QQ邮箱设置详解
2020/02/18 Python
html5+css3进度条倒计时动画特效代码【推荐】
2016/03/08 HTML / CSS
印度网上购物首选目的地:Flipkart
2016/08/01 全球购物
iPad和Surface Pro蓝牙键盘:Brydge
2018/11/10 全球购物
Petmate品牌官方网站:宠物用品
2018/11/25 全球购物
Stokke美国官方网店:高级儿童家具、推车、汽车座椅和配件
2020/06/06 全球购物
加拿大专业美发产品购物网站:Chatters
2021/02/28 全球购物
完美实现CSS垂直居中的11种方法
2021/03/27 HTML / CSS
资产经营总监岗位职责范文
2013/12/01 职场文书
市场专员岗位职责
2014/02/14 职场文书
垃圾桶标语
2014/06/24 职场文书
老公保证书
2015/01/17 职场文书
十大最强电系宝可梦,阿尔宙斯电系之一,第七被称为雷神
2022/03/18 日漫
html原生table实现合并单元格以及合并表头的示例代码
2023/05/07 HTML / CSS