php截取字符串代码,PHP字符串截取_php
发布日期:2025-05-04 10:56:29
浏览次数:9
分类:精选文章
本文共 1524 字,大约阅读时间需要 5 分钟。
= 32 && $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); $strcut = str_replace(array('∵', '&', '"', "'", '“', '”', '—', '', '·', '…'), array(' ', '&', '"', "'", '“', '”', '—', '', '·', '…'), $strcut); } else { $dotlen = strlen($dot); $maxi = $length - $dotlen - 1; $current_str = ''; $search_arr = array('&', ' ', '"', "'", '“', '”', '—', '', '·', '…', '∵'); $replace_arr = array('&', ' ', '"', "'", '“', '”', '—', '', '·', '…', ' '); $search_flip = array_flip($search_arr); for ($i = 0; $i < $maxi; $i++) { $current_str = ord($string[$i]) > 127 ? $string[$i] . $string[++$i] : $string[$i]; if (in_array($current_str, $search_arr)) { $key = $search_flip[$current_str]; $current_str = str_replace($search_arr[$key], $replace_arr[$key], $current_str); } $strcut .= $current_str; } } return $strcut . $dot;}```这段代码实现了以下功能:1. **字符串长度判断**:如果原始字符串长度小于等于所需截取长度,直接返回原字符串。2. **字符替换**:将一些特殊字符替换为易于显示的格式,确保截取后的字符串显示正确。3. **字符编码处理**:根据字符编码类型(UTF-8或GBK)调整截取逻辑,确保正确处理Multi-byte 字符。4. **断言点处理**:智能计算断言点的位置,避免断言点在中间导致信息丢失。5. **文本优化**:在截取后,恢复原始字符格式,确保输出格式一致。该函数适用于需要对文本内容进行精确截取的场景,能够处理多种编码格式,并确保截取后的字符串格式完整。发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2026年06月13日 00时54分38秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
php判断复选框是否被选中的方法
2023-03-01
PHP判断指定目录下是否存在文件
2023-03-01
php判断数组是否为空
2023-03-01
PHP判断数组是否有重复值、获取重复值
2023-03-01
PHP利用正则表达式实现手机号码中间4位用星号(*)替换显示
2023-03-01
PHP加密与安全的最佳实践
2023-03-01
PHP区分 企业微信浏览器 | 普通微信浏览器 | 其他浏览器
2023-03-01
php原生代码怎么连表查询,PHP tp5中使用原生sql查询代码实例
2023-03-01
PHP去掉转义符
2023-03-01
php反射api
2023-03-01
PHP反射ReflectionClass、ReflectionMethod 入门教程
2023-03-01
PHP反射机制
2023-03-01
php取当天的最后一秒_Docker快速搭建PHP开发环境详细教程
2023-03-01
php取绝对值
2023-03-01
php各种常用的算法
2023-03-01
php各种缓存策略对比
2023-03-01
RabbitMQ高级特性 - 消息分发(限流、负载均衡)
2023-03-01
php后台“爬虫”模拟登录第三方系统
2023-03-01
php后台的在控制器中就可以实现阅读数增加
2023-03-01
php命令行生成项目结构
2023-03-01