当前位置: 首页 > news >正文

php 字符串向前截取,php字符串截取函数

/**

* 字符串截取

* @param string $str       需要截取的字符串

* @param int $len          截取长度

* @param string $next      自定义后缀符号

* @param int $start        第一个字符的位置

* @param string $pre       自定义前缀符号

* @param string $charset   字符串编码

* @return string

**/

function cutstr($str, $len, $next = '', $start = 0, $pre = '', $charset = 'utf8') {

$str_len = (strlen($str) + mb_strlen($str, $charset)) / 2;

if ($str_len <= $len && $start == 0) {

return $str;

}

$substr = mb_substr($str, $start, $len, $charset);

if ($str == $substr) {

return $substr;

}

if ($str_len >= $len && $start == 0) {

return $substr . $next;

}

if ($str_len > ($len + $start) && $start != 0){

return $pre . $substr . $next;

}

if ($str_len >= $len && $start > 0) {

return $pre . mb_substr($str, $start, $len, $charset);

}

return $str;

}

下面是一个例子:

$str = '玄玄 博客(作者小柯),本博客本人刚学不久的ThinkPHP3.2.3编写的!感觉ThinkPHP真心是一个不错的框架(比本人写的CI框架更好用些)。如果感觉不错请各位大神多多关注!谢谢';

更简洁的就是

谢谢大家的支持!!!

相关文章:

  • oracle 查询本年12月,ORACLE 写一条Sql语句查出年份,1月,2月,3月....12月的订单总数列表...
  • sqlserver新建oracle发布是咋回事,SQLServer创建链接服务器对象链接oracle
  • linux桌面环境占用内存对比,最新精简型Linux桌面环境大比拼:LXDE Vs Xfce Vs MATE
  • dnw linux 内核,神器DNW2 FOR LINUX!
  • linux 单独装ftp服务,linux下安装FTP服务
  • linux日志服务重开,linux重新編譯內核
  • linux arm中断进程,ARM Linux对中断的处理
  • linux jvm自动退出,在Linux中启动Eclipse时出错:“ JVM已终止。退出代码= 13”
  • 远程监控linux的jboss,如何将JBoss做成Redhat Linux的系统服务
  • 火狐浏览器在linux下编译,linux下火狐浏览器插件开发.doc
  • linux vi编辑撤销,vi撤销命令(u和U),撤销上一次的操作
  • flask部署linux视频,基于python的web架构部署注意事项
  • Linux下载WordPress出现错误,解决wordpress发生意外错误,可能WordPress.org或服务器配置文件存在问题...
  • linux下github上传文件,linux下将本地文件上传到github中?
  • 具有二进制时钟的Linux,Unix Linux
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • 【个人向】《HTTP图解》阅后小结
  • Angular 响应式表单之下拉框
  • MaxCompute访问TableStore(OTS) 数据
  • PHP面试之三:MySQL数据库
  • Python_OOP
  • Python学习之路16-使用API
  • QQ浏览器x5内核的兼容性问题
  • Redis 懒删除(lazy free)简史
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • Service Worker
  • SpiderData 2019年2月23日 DApp数据排行榜
  • 闭包,sync使用细节
  • 动手做个聊天室,前端工程师百无聊赖的人生
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 前端之Sass/Scss实战笔记
  • 如何学习JavaEE,项目又该如何做?
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • 正则与JS中的正则
  • ionic异常记录
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • 从如何停掉 Promise 链说起
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • (1) caustics\
  • (第二周)效能测试
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (附源码)计算机毕业设计SSM智慧停车系统
  • *Django中的Ajax 纯js的书写样式1
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .NET Core 中插件式开发实现
  • .NET Core使用NPOI导出复杂,美观的Excel详解
  • .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
  • /*在DataTable中更新、删除数据*/
  • @requestBody写与不写的情况
  • [ vulhub漏洞复现篇 ] ThinkPHP 5.0.23-Rce
  • [android] 请求码和结果码的作用
  • [C++]命名空间等——喵喵要吃C嘎嘎