php推断字符串中是否包含中文汉字和获得字符串中的汉字_365体育备用网址官网资讯

php推断字符串中是否包含中文汉字和获得字符串中的汉字

文章来源:365jz.com     点击数:129    更新时间:2018-01-12 11:40   参与评论
一,推断全是中文
 
$str="'324是365体育备用网址人"; 
if(!eregi("[^\x80-\xff]","$str")){ 
echo "全是中文"; 
}else{ 
echo "不是"; 
} 

二,推断是否包含中文汉字
 
$str = "中文汉字"; 
if (preg_match("/[\x7f-\xff]/", $str)) { 
echo "含有中文"; 
}else{ 
echo "没有中文"; 
} 
或 
$pattern = '/[^\x00-\x80]/'; 
if(preg_match($pattern,$str)){ 
echo "含有中文"; 
}else{ 
echo "没有中文"; 
} 

PHP取得汉字(中文):

function getChinese($str,$charset='utf8'){ 
 
  if($charset=='gb2312'){ 
    if(!preg_match_all("/^[".chr(0xa1)."-".chr(0xff)."]+/",$str,$match)){ 
      return false; 
    } 
    return implode('',$match[0]); 
  } 
  // 
  if($charset=='utf8'){ 
    if(!preg_match_all("/[\x{4e00}-\x{9fa5}]+/u",$str,$match)){ 
      return false; 
    } 
    return implode('',$match[0]); 
  } 
  return false; 
 
}  


说明:PHP使用正则表示式如何匹配出一段字符串中的中文,对于这个问题,网上也有很多代码,但是大部分都存在纰漏,所以下面为大家提供真正能够匹配出中文的代码。分两种编码形式:
1)utf-8的编码格式,匹配中文代码如下:

<?php
    $str = "utf-8下匹配出中文字符串";
    $preg = "/[\x{4e00}-\x{9fa5}]+/u";
    if(preg_match_all($preg,$str,$matches)){
        print_r($matches);
    }
?>

2)gb2312的编码格式,匹配中文字符串代码如下:

<?php
    $str = "gb2312下匹配出中文字符串";
    $preg = "/([".chr(0xb0)."-".chr(0xf7)."][".chr(0xa1)."-".chr(0xfe)."])+/i";
    if(preg_match($preg,$str,$matches)){
        print_r($matches);
    }
?>


如对本文有疑问,请提交到交流188金宝博娱乐 官网,广大热心网友会为你解答!! 点击进入188金宝博娱乐 官网


公布评论 (129人察看0条评论)
请自觉遵守互联网相关的政策法规,严禁公布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换g3娱乐成
最新评论
------分隔线----------------------------
条评论
Sitemap