-
-
//字符串截取
- $a = "s@@你好";
- var_dump(strlen_weibo($a,'utf-8'));
- 结果输出为8,其中字母s计数为1,全角@计数为2,半角@计数为1,两个中文计数为4。源码如下:
//截取字符串的函数代码
- function strlen_weibo($string, $charset='utf-8')
- {
- $n = $count = 0;
- $length = strlen($string);
- if (strtolower($charset) == 'utf-8')
- {
- while ($n {
- $currentByte = ord($string[$n]);
- if ($currentByte == 9 ||
- $currentByte == 10 ||
- (32 {
- $n++;
- $count++;
- } elseif (194 {
- $n += 2;
- $count += 2;
- } elseif (224 {
- $n += 3;
- $count += 2;
- } elseif (240 {
- $n += 4;
- $count += 2;
- } elseif (248 {
- $n += 5;
- $count += 2;
- } elseif ($currentByte == 252 || $currentByte == 253)
- {
- $n += 6;
- $count += 2;
- } else
- {
- $n++;
- $count++;
- }
- if ($count >= $length)
- {
- break;
- }
- }
- return $count;
- } else
- {
- for ($i = 0; $i {
- if (ord($string[$i]) > 127)
- {
- $i++;
- $count++;
- }
- $count++;
- }
- return $count;
- }
- }
-
复制代码
|
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31