php判断是中文
⑴ php判断IP是中国IP还是外国IP
//返回ip所在的区域外国ip精确到国名
functiongetcposition($ip){
try{
$res1=file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=$ip");
$res1=json_decode($res1,true);
if($res1["code"]==0){
return$res1['data']["country"].$res1['data']["region"].$res1['data']["city"]."_".$res1['data']["isp"];
}else{
return"未能获取";
}
}catch(Exception$e){
return"未能获取";
}
}
⑵ php判断字符串是否有繁体中文
可以借用 iconv 函数,通过对给定字符串分别转换成简体代码集(GB2312)和 GBK 字符集,再进行两者的比较,如果一致则可以判断为简体,反之是繁体中文。
提供网上示例代码供参考:
$str="这是繁体中文";
$strGbk=iconv("UTF-8","GBK//IGNORE",$str);
$strGb2312=iconv("UTF-8","GB2312//IGNORE",$str);
if($strGbk==$strGb2312){
echo'简体';
}else{
echo'繁体';
}
需要提示的:
某些字,中文简体和繁体是一样的字(但意思不一样),比如:繁体的乾(gan)净的“乾”和乾(qian)坤的“乾”字,都是“乾”字,但它在第一个词语里是繁体字,在第二个词语里是简体字。
⑶ PHP的正则表达式中使用中文(并匹配中文)的问题,原串为UTF8
<?php
$str = "中国势力是(烟消云散、再转在、匣介)中国、类别置顶帖(来哦见好就收)、炒肉可示、需要城";
$preg2 = "/中国/sim" ;
preg_match_all($preg2, $str, $strResult, PREG_PATTERN_ORDER);
print_r($strResult);
?>
我的PHP文件是UTF-8编码,不知道你的$str是从哪里得到的呢?像上面一样,我直接给$str赋值,这样使用 /中国/sim 这个表达式没有任何问题,会不会是你$str字符串的编码与页面编码不一致呢?
⑷ php怎么判断输入框不能提交中文
1、首先strlen返回的字符长度和mb_strlen以当前编码计算的长度一致,可以判断是纯英文字符串。
2、其次strlen返回的字符长度和mb_strlen以当前编码计算的长度不一致,且strlen返回值同mb_strlen的返回值求余后得0可以判断为是全汉字的字符串。
3、最后strlen返回的字符长度和mb_strlen以当前编码计算的长度不一致,且strlen返回值同mb_strlen的返回值求余后不为0,可以判断为是英汉混合的字符串。
⑸ php如何判断一个字符是中文还是英文
functionischinese($s){
$allen=preg_match("/^[^/x80-/xff]+$/",$s);//判断是否是英文
$allcn=preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/",$s);//判断是否是中文
if($allen){
return'英文';
}else{
if($allcn){
return'中文';
}else{
return'中英混合';
}
}
}