php源码分析之DZX1.5字符串截断函数cutstr用法
发布:smiling 来源: PHP粉丝网 添加日期:2021-05-28 20:47:26 浏览: 评论:0
这篇文章主要介绍了php源码分析之DZX1.5字符串截断函数cutstr用法,实例分析了DZX1.5中cutstr函数实现字符串截取的使用技巧,需要的朋友可以参考下。
本文实例讲述了php源码分析之DZX1.5字符串截断函数cutstr用法,分享给大家供大家参考,具体分析如下:
- <?php
- /**
- * 函数来源DZX1.5,文件所在 /source/function/function_core.php
- */
- define('CHARSET','UTF-8');
- function cutstr($string, $length, $dot="...") {
- if(strlen($string)<=$length) {
- return $string;
- }
- if(strtolower(CHARSET) == "utf-8") {
- $n = $tn = $noc = 0;
- while($n < strlen($string)) {
- $t = ord($string[$n]);
- if($t == 9 || $t == 10 || (32 <= $t && $t <= 126)) {
- $tn = 1; $n++; $noc++;
- } elseif(194 <= $t && $t <= 223) {
- $tn = 2; $n += 2; $noc += 2;
- } elseif(224 <= $t && $t <= 239) {
- $tn = 3; $n += 3; $noc += 2;
- } elseif(240 <= $t && $t <= 247) {
- $tn = 4; $n += 4; $noc += 2;
- } elseif(248 <= $t && $t <= 251) {
- $tn = 5; $n += 5; $noc += 2;
- } elseif($t == 252 || $t == 253) {
- $tn = 6; $n += 6; $noc += 2;
- } else {
- $n++;
- }
- if($noc >= $length) {
- break;
- }
- }
- if($noc > $length) {
- $n -= $tn;
- }
- $strcut = substr($string, 0, $n);
- } else {
- for($i = 0; $i < $length; $i++) {
- $strcut .= ord($string[$i])>127 ? $string[$i].$string[++$i] : $string[$i];
- }
- }
- $pos = strrpos($strcut, chr(1));
- if($pos !== false) {
- $strcut = substr($strcut,0,$pos);
- }
- return $strcut.$dot;
- }
- $string = '测试数据库ablci102020@(#)!)!测试劳动力ddk';
- echo cutstr($string,15);
- /*End of php*/
运行结果如下:
测试数据库ablci1020...
Tags: DZX1 5 cutstr
相关文章
- ·php源码分析之DZX1.5随机数函数random用法(2021-05-28)
- ·php源码分析之DZX1.5加密解密函数authcode用法(2021-05-28)
- ·php 自定义UTF8和cp1251函数(2013-11-28)
- ·php md5 与md5_file区别详细说明(2013-11-28)
- ·php中fgetcsv函数在php5.2.8 中的数据不完整(2013-12-07)
- ·PHP5.5 安装后出现不能调用json_encode 解决办法(2013-12-08)
- ·php 5.3 闭包语法介绍 function() use() {}(2014-02-27)
- ·php 自定义复杂MD5加密函数(2014-08-22)
- ·php md5加密函数参考详解(2014-08-23)
- ·windows中PHP 5.2.17安装eAccelerator方法(2014-08-25)
- ·PHP 5.3与5.5废弃/过期函数整理(2015-04-11)
- ·PHP5匿名函数的实例(2016-01-28)
- ·PHP5.5和之前的版本empty函数的不同之处(2021-02-19)
- ·PHP5.3与5.5废弃与过期函数整理汇总(2021-03-19)
- ·自己写的兼容低于PHP 5.5版本的array_column()函数(2021-04-18)
- ·PHP5.2下preg_replace函数的问题(2021-05-25)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)