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新手上路(十)
Oct 09 PHP
一个PHP的String类代码
Apr 20 PHP
延长phpmyadmin登录时间的方法
Feb 06 PHP
php定时计划任务的实现方法详解
Jun 06 PHP
PHP批量上传图片的具体实现方法介绍.
Feb 26 PHP
php可应用于面包屑导航的递归寻找家谱树实现方法
Feb 02 PHP
Smarty使用自定义资源的方法
Aug 08 PHP
php中mkdir()函数的权限问题分析
Sep 24 PHP
利用php获得flv视频长度的实例代码
Oct 26 PHP
PHP获取文件扩展名的常用方法小结【五种方式】
Apr 27 PHP
PHP多维数组指定多字段排序的示例代码
May 16 PHP
YII2框架中behavior行为的理解与使用方法示例
Mar 13 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计算两个日期相差天数的方法
2015/03/14 PHP
php 批量查询搜狗sogou代码分享
2015/05/17 PHP
PHP实现基于文本的摩斯电码生成器
2016/01/11 PHP
PHP正则获取页面所有图片地址
2016/03/23 PHP
php判断数组是否为空的实例方法
2020/05/10 PHP
jquery 模拟雅虎首页的点击对话框效果
2010/04/11 Javascript
dtree 网页树状菜单及传递对象集合到js内,动态生成节点
2012/04/14 Javascript
jQuery 插件仿百度搜索框智能提示(带Value值)
2013/01/22 Javascript
JS子父窗口互相操作取值赋值的方法介绍
2013/05/11 Javascript
jquery.post用法关于type设置问题补充
2014/01/03 Javascript
JavaScript中的lastIndexOf()方法使用详解
2015/06/06 Javascript
javaScript中的原型解析【推荐】
2016/05/05 Javascript
深入理解js数组的sort排序
2016/05/28 Javascript
jQuery实现ajax的叠加和停止(终止ajax请求)
2016/08/08 Javascript
JS 循环li添加点击事件 (闭包的应用)
2016/12/10 Javascript
js仿百度音乐全选操作
2017/01/13 Javascript
node.js文件上传重命名以及移动位置的示例代码
2018/01/19 Javascript
修改npm全局安装模式的路径方法
2018/05/15 Javascript
VUE预渲染及遇到的坑
2018/09/03 Javascript
Vue+Express实现登录状态权限验证的示例代码
2019/05/05 Javascript
vscode中eslint插件的配置(prettier配置无效)
2019/09/10 Javascript
在 Vue 中使用 JSX 及使用它的原因浅析
2020/02/10 Javascript
微信小程序自定义tabBar的踩坑实践记录
2020/11/06 Javascript
Python的Flask框架中实现登录用户的个人资料和头像的教程
2015/04/20 Python
Python中利用sqrt()方法进行平方根计算的教程
2015/05/15 Python
Python实现句子翻译功能
2017/11/14 Python
浅谈python中对于json写入txt文件的编码问题
2018/06/07 Python
详解基于django实现的webssh简单例子
2018/07/17 Python
Python爬虫实现抓取京东店铺信息及下载图片功能示例
2018/08/07 Python
如何用python开发Zeroc Ice应用
2021/01/29 Python
利用python实现后端写网页(flask框架)
2021/02/28 Python
对CSS3选择器的研究(详解)
2016/09/16 HTML / CSS
学校四风对照检查材料
2014/08/28 职场文书
小学运动会前导词
2015/07/20 职场文书
运动会广播稿100字
2015/08/19 职场文书
tensorflow中的数据类型dtype用法说明
2021/05/26 Python