tnfh.net
当前位置:首页 >> php如何获取中文字符长度,一个中文字符算一个 >>

php如何获取中文字符长度,一个中文字符算一个

PHP对中文字符串的处理一直困扰于刚刚接触PHP开发的新手程序员。下面简要的剖析一下PHP对中文字符串长度的处理: PHP自带的函数如strlen()、mb_strlen()都是通过计算字符串所占字节数来统计字符串长度的,一个英文字符占1字节。例: $enStr = ‘H...

编写代码如下:

一般情况下 有汉字的时候 是使用 mb_strlen 这个函数来计算字符长度 这个函数需要开启 mb_string扩展 默认都是不开启的

然而在PHP自带的函数中,strlen及mb_strlen都是通过计算字符串所占字节数来计算长度的,在不同的编码情况下,中文所占的字节数是不同的。在GBK/GB2312下,中文字符占2个字节,而在UTF-8下,中文字符占3个字节。

假设你这个是UTF-8编码下的!!不同的编码对应不同的正则

strlen(string)函数返回字符串的长度, 输出12

前提是你的页面编码也是utf-8

$a='abcd12中456文';// 获取到“中”字的位置preg_match('/中/',$a,$matches,PREG_OFFSET_CAPTURE);print_r($matches[0][1]);echo "\n";// 获劝中456”这几个字 (注意只支持utf8编码 其他编码请转utf8再匹配)preg_match('/[\x{4e00}-\x{9fa5}]\d{3}...

mb_substr — 获取字符串的部分 string mb_substr ( string $str , int $start [, int $length [, string $encoding ]] )说明:根据字符数执行一个多字节安全的 substr() 操作。 位置是从 str 的开始位置进行计数。 第一个字符的位置是 0。第二个...

网站首页 | 网站地图
All rights reserved Powered by www.tnfh.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com