您的位置主页 > 编程专区 > Php > PHP 判断字符串-全英文字符-英汉混合-纯汉字

PHP 判断字符串-全英文字符-英汉混合-纯汉字

2010-01-16    文章来源:互联网    浏览次数:1740     分享文章

  如何判断字符串是否是纯英文,或纯汉字,或英汉混合。有个传统的方案就是判断字符的值是否小于128,但这种方法无法适用全汉字或英汉混合的情况,这里我提出一种新的途径来辨别。通过以上示例程序可以看出利用php的mb_strlen和strlen函数就可以轻松得知字符串的构成是全英文、英汉混合、还是纯汉字。简要说明如下:
 

 
  1. < ?php 
  2. $str = "456abc"
  3. $x = mb_strlen($str,'gb2312'); 
  4. $y = strlen($str); echo "------456abc----<br>"echo "$x".'<br />'echo "$y".'<br />'
  5. $str = "456我是中国人abc<br />"
  6. $x = mb_strlen($str,'gb2312'); 
  7. $y = strlen($str); 
  8. echo "------456我是中国人abc----<br />"echo "$x".'<br />'echo "$y".'<br />'
  9. $str = "我是中国人我爱祖国"
  10. $x = mb_strlen($str,'gb2312'); 
  11. $y = strlen($str); echo "------我是中国人我爱祖国----<br />"echo "$x".'<br />'
  12. echo "$y".'<br />'$str = "我";
  13. $x = mb_strlen($str,'gb2312'); 
  14. $y = strlen($str); echo "------我----<br />"echo "$x".'<br />'
  15. echo "$y".'<br />'
  16. $str = "我ab"
  17. $x = mb_strlen($str,'gb2312'); 
  18. $y = strlen($str); echo "------我ab----<br />"echo "$x".'<br />'echo "$y".'<br />'
  19. ?>


1、如果strlen返回的字符长度和mb_strlen以当前编码计算的长度一致,可以判断是纯英文字符串。
2、如果strlen返回的字符长度和mb_strlen以当前编码计算的长度不一致,且strlen返回值同mb_strlen的返回值求余后得0可以判断为是全汉字的字符串。
3、如果strlen返回的字符长度和mb_strlen以当前编码计算的长度不一致,且strlen返回值同mb_strlen的返回值求余后不为0,可以判断为是英汉混合的字符串。
 

文章评论(查看全部)

昵 称 *
电子邮箱 *
网 址      6 + 1 = ?