如何保证单词完整性的PHP英文字符串截取
发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,今天就跟大家聊聊有关如何保证单词完整性的PHP英文字符串截取,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。直接上代码:/** * 完整词的
千家信息网最后更新 2025年01月16日如何保证单词完整性的PHP英文字符串截取
今天就跟大家聊聊有关如何保证单词完整性的PHP英文字符串截取,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
直接上代码:
/** * 完整词的截取 * * @param $str * @param $start * @param $length * * @return string */ public static function usubstr($str, $start, $length = null) { // 先正常截取一遍. $res = substr($str, $start, $length); $strlen = strlen($str); /* 接着判断头尾各6字节是否完整(不残缺) */ // 如果参数start是正数 if ($start >= 0) { // 往前再截取大约6字节 $next_start = $start + $length; // 初始位置 $next_len = $next_start + 6 <= $strlen ? 6 : $strlen - $next_start; $next_segm = substr($str, $next_start, $next_len); // 如果第1字节就不是 完整字符的首字节, 再往后截取大约6字节 $prev_start = $start - 6 > 0 ? $start - 6 : 0; $prev_segm = substr($str, $prev_start, $start - $prev_start); } // start是负数 else { // 往前再截取大约6字节 $next_start = $strlen + $start + $length; // 初始位置 $next_len = $next_start + 6 <= $strlen ? 6 : $strlen - $next_start; $next_segm = substr($str, $next_start, $next_len); // 如果第1字节就不是 完整字符的首字节, 再往后截取大约6字节. $start = $strlen + $start; $prev_start = $start - 6 > 0 ? $start - 6 : 0; $prev_segm = substr($str, $prev_start, $start - $prev_start); } // 判断前6字节是否符合utf8规则 if (preg_match('@^([x80-xBF]{0,5})[xC0-xFD]?@', $next_segm, $bytes)) { if (!empty($bytes[1])) { $bytes = $bytes[1]; $res .= $bytes; } } // 判断后6字节是否符合utf8规则 $ord0 = ord($res[0]); if (128 <= $ord0 && 191 >= $ord0) { // 往后截取 , 并加在res的前面. if (preg_match('@[xC0-xFD][x80-xBF]{0,5}$@', $prev_segm, $bytes)) { if (!empty($bytes[0])) { $bytes = $bytes[0]; $res = $bytes . $res; } } } if (strlen($res) < $strlen) { $res = $res . '...'; } return $res; }
看完上述内容,你们对如何保证单词完整性的PHP英文字符串截取有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
字节
内容
单词
字符
字符串
完整性
英文
保证
位置
规则
代码
参数
头尾
更多
正数
知识
篇文章
行业
负数
资讯
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器安全文件防护
强矛直击网络安全
国家建立网络安全监测和预警
最快的写数据库方法
网络技术不好怎么办
2008 服务器管理自启
计算机网络安全 教案
广州无线软件开发定做价格
明日之后的起源地服务器
计算机网络技术劣势
50000并发服务器配置
海南苍宇互联网科技有限公司
信息网络安全知识网络
然后攻击传奇服务器
崇明区直销软件开发要多少钱
调查网络安全的意义
灯具设计软件开发
没有网络连接可以装数据库吗
多项目数据库解决方案
南京应用软件开发流程
棋牌软件开发涉嫌开设赌场罪
嵌入式开发跳软件开发
数据库安全管理技巧
咸宁订制软件开发电话
服务器健康状态怎么填
清远软件开发就业
蓝月亮网络安全
csgo一直连接官方服务器视频
网络安全cs什么意思
上海铁道网络安全知识