找回密码
 注册账号

QQ登录

只需一步,快速开始

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

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

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

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

查看: 2621|回复: 0

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

[复制链接]

498

主题

18

回帖

5

广播

论坛版主

积分
257
泰拉
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. }
复制代码
[发帖际遇]: 一个袋子砸在了 君山 头上,君山 赚了 2 泰拉. 幸运榜 / 衰神榜
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|友链申请|Archiver|手机版|小黑屋|游芯沙盒 ( 陕ICP备11006283号-1 )

GMT+8, 2024-5-3 03:48 , Processed in 0.130671 second(s), 40 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表