PHP计算字符串长度,包括计算英文、GBK、UTF-8多种字符集下PHP如何计算字符串长度。英文字符串长度
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编程语言中,计算字符串长度是一个常见的任务,特别是在处理用户输入、文本处理或数据分析时。`str.php`文件很可能包含一个实现此功能的简单示例。PHP提供了内置的`strlen()`函数,用于获取字符串的长度,即...
它能够根据指定的字符编码(默认为UTF-8)正确计算字符串长度: ```php mb_internal_encoding('UTF-8'); echo mb_strlen("你好,世界"); // 输出:7 ``` `mb_strlen()`函数会按照指定的字符集计算字符串的长度,...
其中一个常用的函数是`strlen()`,它用于计算字符串的长度。`strlen()`函数返回的是字符串占用的字节长度,而不是字符数。这是因为不同字符集中的字符可能占据不同的字节数。例如,英文字符、数字和大多数特殊符号...
首先,要理解字符串长度计算问题常常出现在字符编码转换的场景中。在不同的编码格式下,同一个字符所占用的字节可能会不同。比如,UTF-8编码方式下,中文字符往往占用3个字节,而在GB2312或其他双字节编码中,可能只...
在编写PHP程序时,经常需要...通过以上介绍,相信读者已经掌握了使用PHP函数和正则表达式计算中英文字符串长度的方法,并可以根据自己的实际情况选择最适合的方法。希望本文提供的信息能对读者的PHP开发工作提供帮助。
这里,`'UTF-8'`参数告诉`mb_strlen()`使用UTF-8编码来计算字符串长度,确保了计算的准确性。 总结一下,理解和正确使用`strlen()`与`mb_strlen()`是PHP编程中必不可少的技能。`strlen()`适用于简单的ASCII字符串,...
首先,`strlen()`函数是PHP内建的用于计算字符串长度的函数,它返回字符串的字节数。然而,当涉及到非ASCII字符,如中文字符时,`strlen()`可能会出现问题。这是因为一个中文字符通常由多个字节组成,而非单个字节。...
PHP提供了两种主要的函数来进行字符串长度计算:`strlen()` 和 `mb_strlen()`。 首先,`strlen()` 函数是最基本的字符串长度计算函数,其函数原型为 `int strlen(string string_input);`。这个函数返回字符串占用的...
36. strlen: 取得字符串长度 strlen 函数取得字符串的长度,以便于字符串处理操作。 37. strrpos: 寻找字符串中某字符最后出现处 strrpos 函数寻找字符串中某字符最后出现处,以便于字符串搜索和比较。 38. ...
一个常见的优化策略是在截断之前检查字符串长度,如果字符串长度小于设定值,就直接返回,避免不必要的计算。 5. **添加省略号:**通常在截断字符串后,我们会在末尾添加省略号以表示内容被截断。这可以通过在截断...
在PHP中,字符串长度的截取是一个常见的操作,特别是在处理用户输入或展示文本时。本文将深入探讨如何在PHP中进行字符串截取,并重点关注`mb_substr`函数在处理多字节字符(如中文字符)时的用法。 首先,我们需要...
`strlen()`函数用于计算字符串的长度,这对于控制循环次数或者其他需要知道字符串长度的场景非常重要。例如: ```php $str = "Hello World!"; echo strlen($str); // 输出:12 ``` 这段代码计算了字符串“Hello ...
`abslength`函数是用于计算中文字符串长度的一个示例。这个函数接受两个参数:要计算的字符串和一个可选的类型参数。默认情况下,一个中文字符被视为一个字符。如果`mb_strlen`函数存在,它将被用来计算长度;否则,...
但对于包含多字节字符的字符串,如中文、日文等,应使用`mb_strlen`来确保正确计算字符串长度。 **优化与注意事项** 虽然`CheckLengthBetween`函数简单易用,但在处理大量字符串时,你可能需要考虑效率。在某些...
**功能描述:** 计算字符串中某子串出现的次数。 **示例代码:** ```php $haystack = "hello world, hello again"; $needle = "hello"; echo substr_count($haystack, $needle); // 输出 2 ``` ##### `mb_strlen` ...
值得注意的是,strlen函数计算字符串长度时,将每个字符都视为一个单位,因此对中文字符和其他多字节字符,strlen同样返回1,这是因为PHP默认使用的是字节长度,而非实际的字符数,除非在多字节字符串函数环境下,如...
1. `strlen()`函数是PHP内置的函数,用于计算字符串的长度,返回的是字符串中的字节数。在英文字符集中,每个字符占用一个字节,因此`strlen()`返回的就是字符个数。但在UTF-8编码中,中文字符通常占用三个或四个...
PHP内置的`strlen()`函数默认是基于字节数计算字符串长度的,这意味着它不能准确地反映出含有中文字符的字符串的实际字符数。这是因为中文字符在不同编码格式下占用的字节数不同。例如,在GBK/GB2312编码中,每个...