《泰拉瑞亚下载-1.4.2.3版》 泰拉瑞亚服务器 - MOD模组下载

入驻泰拉战网 新手指引 - 升级 - 师徒

泰拉瑞亚合成表 泰拉卡牌 - 泰拉江湖 - 泰拉刺客

联系泰拉开发组👈进入 积分市场 - 房产交易 - 水晶获取

查看: 4391|回复: 0

Discuz dstrlen函数 针对uft-8进行特殊处理的strlen

[复制链接]

515

主题

18

回帖

5

广播

论坛版主

积分
263
泰拉
22
水晶
1
铜钥匙
0
银钥匙
0
金钥匙
0

【江湖新秀】【宝剑回鞘】【泰拉达人】【奥运选手】

发表于 2020-10-26 22:37:29 | 显示全部楼层 |阅读模式

  1. /**
  2. * 针对uft-8进行特殊处理的strlen
  3. * @param string $str
  4. * @return int
  5. */

  6. function dstrlen($str) {
  7.         if(strtolower(CHARSET) != 'utf-8') {
  8.                 return strlen($str);
  9.         }
  10.         $count = 0;
  11.         for($i = 0; $i < strlen($str); $i++){
  12.                 $value = ord($str[$i]);
  13.                 if($value > 127) {
  14.                         $count++;
  15.                         if($value >= 192 && $value <= 223) $i++;
  16.                         elseif($value >= 224 && $value <= 239) $i = $i + 2;
  17.                         elseif($value >= 240 && $value <= 247) $i = $i + 3;
  18.                     }
  19.                     $count++;
  20.         }
  21.         return $count;
  22. }
复制代码
我自豪的选择游芯沙盒作为主页!!!
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

关注公众号
友链申请|Archiver|手机版|小黑屋|游芯沙盒

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|陕ICP备11006283号-1

在本版发帖
关注公众号
QQ客服返回顶部