php截取utf8或gbk编码中英文字符串
Libérer: 2016-07-25 08:53:51
original
913 Les gens l'ont consulté
-
-
//字符串截取
- $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;
- }
- }
-
复制代码
|
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
-
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