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

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

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

在PHP中专门的mb_substr和mb_strlen函数,可以对中文进行截取和计算长度,但是,由于这些函数并非PHP的核心函数,所以,它们常常有可能没有开启。要在php.ini中开启即可。获取长度实例:1 ,utf-8环境下使用 header('Content-type:text/html;cha...

$fchar = ord($s0{0}); //获取字符串的第一个字节 //判断是不是英文字符,如果是则直接返回该字母大写 if ($fchar >= ord(“A”) and $fchar =-17922 and $asc

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

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

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

截取字符串只支持英文。如果字符串包含中文。或混排。以及文字 编码。gb2312 和 utf8 。截取方式就不一样了。 推荐使用 bugfree 的截取字符串函数 例子:/** * @package BugFree * @version $Id: FunctionsMain.inc.php,v 1.32 2005/09/24 11:3...

文件保存的是UTF-8吧? 保存成GB2312就是2个字节了

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

使用这个函数吧。 /*** 可以统计中文字符串长度的函数* @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