最新下载
热门教程
- 1
 - 2
 - 3
 - 4
 - 5
 - 6
 - 7
 - 8
 - 9
 - 10
 
php获取utf8字符串的字符长度实例
时间:2022-06-24 21:29:28 编辑:袖梨 来源:一聚教程网
今晚在写框架的表单验证类时,需要判断某个字符串长度是否在指定区间内,很自然地,想到了PHP中的strlen函数。
| 代码如下 | 复制代码 | 
| 
             
  | 
        |
测试一下中文
| 代码如下 | 复制代码 | 
| 
             $str = '你好,世界!';  | 
        |
PHP内置的字符串长度函数strlen无法正确处理中文字符串,它得 到的只是字符串所占的字节数。对于GB2312的中文编码,strlen得到的值是汉字个数的2倍,而对于UTF-8编码的中文,就是3倍的差异了(在 UTF-8编码下,一个汉字占3个字节)。
下面这个实例摘自大名鼎鼎的WordPress,非常精确的哦,另外需要注意的是本函数仅适用于utf-8 编码下的字符串。
| 代码如下 | 复制代码 | 
| 
             
  | 
        |
但以上代码在UTF-8编码下并不能处理GBK/GB2312的中文字符串,因为GBK/GB2312的中文字符会被识别为两个字符而计算出来的中文字符数量会翻倍,于是我想到了这么一个办法:
| 代码如下 | 复制代码 | 
| 
                 $tmp = @iconv('gbk', 'utf-8', $str);  | 
        |
可兼容GBK/GB2312及UTF-8编码,经小量数据测试通过,但暂未确定是否完全正确
相关文章
- 王者荣耀西施奖励网站在哪进 西施奖励最新网页在线入口 11-04
 - 超自然行动组可用的兑换码有哪些 2025最新有效兑换码领取 11-04
 - 超自然行动组官网入口是什么 超自然官网网页在线充值入口 11-04
 - 我的世界物品怎么一键丢弃 mc快捷键使用指南 11-04
 - 我的世界聊天栏怎么打开 mc聊天快捷操作说明 11-04
 - 我的世界创造模式快捷栏怎么保存 mc物品栏管理技巧 11-04