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

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

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

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

编写代码如下:

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

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

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

$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}...

在PHP中查找中文字符,有两种方案: 将PHP保存为与欲查找中文一样的编码,然后使用strpos查找。 将PHP保存为UTF-8无BOM编码,然后转换字符串编码为UTF-8,再用strpos查找。 第一种方法: strpos($curl_res, '中文');第二种方法: $str = mb_conv...

使用这个函数吧。 /*** 可以统计中文字符串长度的函数* @param $str 要计算长度的字符串* @param $type 计算长度类型,0(默认)表示一个中文算一个字符,1表示一个中文算两个字符**/function abslength($str){ if(empty($str)){ return 0; } if(f...

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