空格和!也算长度的,若是汉字,在gb_2312和utf-8下的长度又是不一样的,一个为2一个为3!

今天要用PHP 判断用户输入的文字的长度   据我分析 ,用户输入的文字 大概分为3种 英语+数字+特殊字符+这些东西必须统一归类为一个长度单位,这仅仅是一个开始,一会我会把代码发布上来。

  

 1 <?php // 说明:计算 UTF-8 字符串长度(忽略字节的方案) 
 2 function strlen_utf8($str) {
 3 $i = 0;
 4 $count = 0;
 5 $len = strlen ($str);
 6 while ($i < $len) {
 7 $chr = ord ($str[$i]);
 8 $count++;
 9 $i++;
10 if($i >= $len) break;
11 if($chr & 0x80) {
12 $chr <<= 1;
13 while ($chr & 0x80) {
14 $i++;
15 $chr <<= 1;
16 }
17 }
18 }
19 return $count;
20 }
21 $str = "www.phpq.net-PHP资讯";
22 echo strlen_utf8($str);
23 ?>

 

posted @ 2012-08-01 16:01  江哥哥  阅读(287)  评论(0编辑  收藏  举报