THINKPHP截取中文字符串函数实例代码

发布时间 - 2026-01-11 00:16:16    点击率:

在项目开发中,我们常常会遇到英文、中文等字符串截取问题,比如说新闻列表页面需要新闻内容简介,这就要用到字符串截取了。

下面就为大家分享一个THINKPHP中已经准备好的字符串截取函数。

# 函数解释:
msubstr($str, $start=0, $length, $charset=”utf-8″, $suffix=true)
/*
$str:要截取的字符串
$start=0:开始位置,默认从0开始
$length:截取长度
$charset=”utf-8″:字符编码,默认UTF-8
$suffix=true:是否在截取后的字符后面显示省略号,默认true显示,false为不显示
*/

模版使用:

{$vo.title|msubstr=0,5,'utf-8',false}

Ps:若是核心版的可能不存在该函数,不用怕,逐风把代码给大家贴出来:

function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true) 
{ 
 if(function_exists("mb_substr")){ 
 if($suffix) 
  return mb_substr($str, $start, $length, $charset)."..."; 
 else
  return mb_substr($str, $start, $length, $charset); 
 } 
 elseif(function_exists('iconv_substr')) { 
 if($suffix) 
  return iconv_substr($str,$start,$length,$charset)."..."; 
 else
  return iconv_substr($str,$start,$length,$charset); 
 } 
 $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)); 
 if($suffix) return $slice."…"; 
 return $slice;
}

以上所述是小编给大家介绍的THINKPHP截取中文字符串函数实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# thinkphp  # 截取字符串  # thinkphp截取中文  # php截取中文字符串  # ThinkPHP 模板substr的截取字符串函数详解  # thinkPHP内置字符串截取函数用法详解  # ThinkPHP的截取字符串函数无法显示省略号的解决方法  # Thinkphp模板中截取字符串函数简介  # 给大家  # 小编  # 在此  # 这就  # 英文  # 要用  # 不存在  # 大家分享  # 所述  # 贴出  # 常常会  # 给我留言  # 就为  # 感谢大家  # 疑问请  # 有任何  # utf  # suffix  # true  # start 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何快速搭建高效可靠的建站解决方案?  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程  Swift中循环语句中的转移语句 break 和 continue  Laravel怎么发送邮件_Laravel Mail类SMTP配置教程  深圳网站制作培训,深圳哪些招聘网站比较好?  如何在搬瓦工VPS快速搭建网站?  Laravel如何使用Vite进行前端资源打包?(配置示例)  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  如何打造高效商业网站?建站目的决定转化率  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  linux写shell需要注意的问题(必看)  Laravel怎么解决跨域问题_Laravel配置CORS跨域访问  Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境  Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧  如何在新浪SAE免费搭建个人博客?  如何在万网ECS上快速搭建专属网站?  Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑  打造顶配客厅影院,这份100寸电视推荐名单请查收  Linux系统命令中screen命令详解  html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】  Laravel怎么实现模型属性的自动加密  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧  Laravel Seeder填充数据教程_Laravel模型工厂Factory使用  VIVO手机上del键无效OnKeyListener不响应的原因及解决方法  手机软键盘弹出时影响布局的解决方法  用v-html解决Vue.js渲染中html标签不被解析的问题  Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议  百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏  米侠浏览器网页背景异常怎么办 米侠显示修复  简单实现Android验证码  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  如何快速辨别茅台真假?关键步骤解析  WordPress 子目录安装中正确处理脚本路径的完整指南  Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道  Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】  音乐网站服务器如何优化API响应速度?  如何制作一个表白网站视频,关于勇敢表白的小标题?  作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】  Laravel怎么实现微信登录_Laravel Socialite第三方登录集成  Firefox Developer Edition开发者版本入口  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像  清除minerd进程的简单方法  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  详解Android图表 MPAndroidChart折线图  成都网站制作公司哪家好,四川省职工服务网是做什么用?  java获取注册ip实例