博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
截取utf-8字符串原理
阅读量:5304 次
发布时间:2019-06-14

本文共 1410 字,大约阅读时间需要 4 分钟。

1 
$cutLength){   //判断参数合法 9 while (($n < $cutLength) and ($i <= $strLength)){ //限定循环范围10 $tempStr = substr($sourceStr, $i, 1);    //取出指针下一个字符11 $ascnum = Ord($tempStr);    //取出ascll值12 if ($ascnum >= 224){ //判断值的大小13 $returnStr = $returnStr . substr($sourceStr, $i, 3); //弹出取到的汉字到结果中14 $i = $i+3;    //指针移动三个字符长度15 $n++; //字数统计+116 }elseif ($ascnum >= 192){ 17 $returnStr=$returnStr.substr($sourceStr,$i,2); //如上18 $i=$i+2;19 $n++;20 }elseif ($ascnum >= 65 && $ascnum <= 90){21 $returnStr = $returnStr.substr($sourceStr, $i, 1); //如上22 $i = $i+1;23 $n++;24 }else{ 25 $returnStr = $returnStr.substr($sourceStr, $i, 1); //这里要说下,如果小于65就是标点字符了,算作0.5个字符26 $i = $i+1;27 $n = $n+0.5;28 }29 }30 if ($strLength > $i){31 $returnStr = $returnStr.$extStr; //如果结果字符串小于长度那么,填上后缀标志32 }33 return $returnStr;34 }35 else36 return $sourceStr; //如果截取长度大于总长,返回原来的字符串37 }38 }39 40 ?>

 

转载于:https://www.cnblogs.com/linksgo2011/archive/2013/01/18/2866039.html

你可能感兴趣的文章
iOS 支持arm_64 和 x86_64 的OpenSSL 静态库(libcrypto.a, libssl.a)
查看>>
Unity3D第二课之通过键盘、鼠标移动物体
查看>>
json数组本地获取,以及根据字段排序【部分摘录】
查看>>
python 提取整个 HTML 节点
查看>>
在IIS上部署你的ASP.NET Core项目
查看>>
ubuntu修改IP地址和网关的方法
查看>>
LeetCode 124. Binary Tree Maximum Path Sum
查看>>
陀螺仪操作摄相机,可以旋转,但角度(轴)还不对
查看>>
centos 中文乱码解决途径
查看>>
多选按钮(CheckBox)
查看>>
vue+node+mongoDB 火车票H5(四)---完成静态页面
查看>>
ARM反汇编笔记贴
查看>>
HadoopSourceAnalyse --- Mapreduce ApplicationMaster Job FSM
查看>>
[PHP]PDO调用存储过程
查看>>
[Linux]如何在linux环境下运行HDP、HLDA
查看>>
老王学java之构造方法私有化
查看>>
ADO.NET基础必备之SqlCommand.Execute三方法
查看>>
js sort方法根据数组中对象的某一个属性值进行排序
查看>>
BZOJ AC300题留念
查看>>
解决死锁SQL
查看>>