转载地址:http://liqingbo.cn/blog-386.html

php字符串截取自定义函数是我们在开发过程中常常使用到的函数,一般用php内置的函数也行,不过不是特别好用,特别是对中文的支持也不是特别友好,所以我们就自己自定义一个咯。

//$Str为截取字符串,$Length为需要截取的长度
function cut($Str, $Length,$more=true) {global $s;$i = 0;$l = 0;$ll = strlen($Str);$s = $Str;$f = true;while ($i <= $ll) {if (ord($Str{$i}) < 0x80) {$l++; $i++;} else if (ord($Str{$i}) < 0xe0) {$l++; $i += 2;} else if (ord($Str{$i}) < 0xf0) {$l += 2; $i += 3;} else if (ord($Str{$i}) < 0xf8) {$l += 1; $i += 4;} else if (ord($Str{$i}) < 0xfc) {$l += 1; $i += 5;} else if (ord($Str{$i}) < 0xfe) {$l += 1; $i += 6;}if (($l >= $Length - 1) && $f) {$s = substr($Str, 0, $i);$f = false;}if (($l > $Length) && ($i < $ll) && $more) {$s = $s . '...'; break; //如果进行了截取,字符串末尾加省略符号“...”}}return $s;
}

调用的方法特别简单,在普通的php文件里面直接调用方法名:

1
cut();

就行了,不过里面必须要传参数,一般第1和第2个必须的,第3个可选

比如我们想截取一段字符串的前10个汉子,那么我们就这样调用

1
cut($str,10);

其中$str为要截取的字符串,10为长度。

因为默认的情况下,如果截取之前的长度超过截取之后的长度,那么超出部分函数会默认使用'...'来替代后面的字符串

如果我们不想让超出部分隐藏替换成'...',那么我们只需要在后面再添加一个参数'false'就行了,如

1
cut($str,10,false);

php字符串截取自​定义函数相关推荐

  1. mysql 字符串截取_MySQL|SUBSTR() 函数用法

    MySQL SUBSTR() 函数 :截取字符串 SUBSTR( )与SUBSTRING( )意思相等 函数语法 SUBSTR (str, pos) 截取从pos位置开始到最后的所有str字符串 SU ...

  2. c语言字符串截取_一文搞懂 C 语言 #、##、__VA_ARGS__

    1'#' 和 '##' 属于预处理标记.'#' 和 '##' 用于类似函数的宏定义中(或者简称为宏定义函数).2'__VA_ARGS__' 是 C99 引入的用于支持宏定义函数中使用可变参数. 操作符 ...

  3. MySQL 字符串截取操作

    一:MySQL 字符串截取相关函数 首先来看一下 MySQL 中跟字符串截取相关的函数有: left(), right(), substring(), substring_index(). mid() ...

  4. MySQL 创建函数, MySQL定义函数实现汉字转拼音 MySQL汉字转拼音MySQL汉字生成拼音字符串

    MySQL 创建函数, MySQL定义函数实现汉字转拼音 MySQL汉字转拼音 一.MySQL创建函数 1.语法 CREATE FUNCTION fun_name([paramName type , ...

  5. oracle字符串提取函数,oracle字符串分割和提取函数定义

    oracle字符串分割和提取函数定义 oracle字符串分割和提取 分割 create or replace function Get_StrArrayLength ( av_str varchar2 ...

  6. 一个效率更高的全半角字符串截取函数

    [原创,转载请注明:[url]http://wfyang.blog.51cto.com[/url]] 现在流传的那几个字符串截取函数,一般都是对字符串进行循环判断,如果要截取的串比较长,效率就成了一个 ...

  7. MySQL字符串函数substring:字符串截取

    MySQL 字符串截取函数:left(), right(), substring(), substring_index().还有 mid(), substr().其中,mid(), substr() ...

  8. js字符串截取函数substr substring slice使用对比

    2019独角兽企业重金招聘Python工程师标准>>> JS中常用三个的字符串截取函数:substr substring slice,调用方式如下: stringObject.sli ...

  9. php 字符串隔位取,PHP 字符串截取字符串函数

    应用场景 从数据库读取产品标题过长时,会导致布局混乱,我们可以使用字符串截断函数进行截断,用...代替截断部分. 函数代码 /** * 字符截取(对中文.英文都可以进行截取) * @param str ...

最新文章

  1. python list转字符串_我用python写了个自动生成给文档生成索引的脚本!懒人智慧...
  2. (转载)VS2010/MFC编程入门之五十四(Ribbon界面开发:使用更多控件并为控件添加消息处理函数)...
  3. 电脑屏幕变黄如何调整_如何调整电脑屏幕比例
  4. 安卓psp模拟器联机教程_刺激战场国际服下载方法教程!安卓ios模拟器都有
  5. 【dfs】年会小游戏
  6. 关于H5跳转到小程序和android的方法
  7. 基于Linux和MiniGUI的嵌入式系统软件开发指南(五)
  8. oracle imp 分隔符,Oracle的imp/exp 各版本之间的规则
  9. 比较算盘和计算机的优点,UPD4526BC 二进制与十进制相比较的优点
  10. 邮局用计算机对信件进行自动分拣,计算机组成结构习题集
  11. matlab一维haar信号塔式分解,matlab小波分解与重构
  12. SQL SERVER 添加字段说明语句
  13. 《zw版·Halcon-delphi系列原创教程》 2d照片-3d逆向建模脚本
  14. php递归算法-无限极分类
  15. 每天一练:html简单文字排版
  16. 奔 跑 吧 兄 弟 場 外 手 機 中 獎 活 動 是 真 的 嗎
  17. 浅谈润乾报表与QlikView对比
  18. 文化袁探索专栏——Activity、Window和View三者间关系
  19. 名帖344 怀素 草书《佛说四十二章经》
  20. centos6.3下2T以上大硬盘如何部署和使用

热门文章

  1. Python 计算机视觉(十三)—— 图像的傅里叶变换
  2. python刷leetcode_零基础python刷leetcode -- 3. Longest Substring Without Repeating Characters
  3. idea没法识别java文件,idea文件左下角有个j的符号并是黄色
  4. 安全性问题(数据篡改(拿到别人的URL,篡改数据(金额)发送给系统))
  5. rocketmq发送顺序消息(四)
  6. php查询mysql表里的数据_php查询mysql数据表记录实现代码
  7. windbg检测句柄泄露(定位到具体代码)
  8. windows nginx c++读取请求数据_震撼!全网第一张源码分析全景图揭秘Nginx
  9. C语言引用文件空格和换行,关于文件操作,碰到空格就换行
  10. html5掉落效果,HTML5 菜单掉落动效