1. 云栖社区>
  2. PHP教程>
  3. 正文

PHP计算字符串长度(转)

作者:用户 来源:互联网 时间:2017-12-01 10:38:32

php字符串计算长度

PHP计算字符串长度(转) - 摘要: 本文讲的是PHP计算字符串长度(转), 英文字符串长度strlen()是PHP自带的计算英文字符串的函数。GBK字符串长度中文字符计算为2个字符,英文字符计算为1个,可以统计中文字符串长度的函数。 function abslength($str){$len=strlen($st


英文字符串长度
strlen()是PHP自带的计算英文字符串的函数。
GBK字符串长度
中文字符计算为2个字符,英文字符计算为1个,可以统计中文字符串长度的函数。


function abslength($str){
$len=strlen($str);
$i=0;
while($i<$len)
{
if(preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/",$str[$i]))
{
$i+=2;
}
else
{
$i+=1;
}
}
return $i;
}
UTF8字符串长度
下面定义的strlen_utf8函数可以统计UTF-8字符串的长度,但不同的是,该函数并不考虑字节,这有些类似 Javascript 中字符串的length方法,一个字符全部按 1 个长度计算。
<?php // 说明:计算 UTF-8 字符串长度(忽略字节的方案)
function strlen_utf8($str) {
$i = 0;
$count = 0;
$len = strlen ($str);
while ($i < $len) {
$chr = ord ($str[$i]);
$count++;
$i++;
if($i >= $len) break;
if($chr & 0x80) {
$chr <<= 1;
while ($chr & 0x80) {
$i++;
$chr <<= 1;
}
}
}
return $count;
}
$str ="www.phpq.net-PHP资讯";
echo strlen_utf8($str);
?>

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php , 字符串 , 计算 长度 ,以便于您获取更多的相关知识。