php是否包含中文
1. php判断字符串中是否含有中文
一,判断全是中文
$str="'324是";
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 "没有中文";
}
如果还有问题可以去后盾网论坛问题求助专区,希望我的回答对你有帮助
2. php文件名可以是中文吗
不建议使用中文文件名!
因为中文会被 URL编码发送,到服务器端的时候虽然会解码,但是如果和你的编码不一致,就解不出来了。
简单的说,URL中的中文 ,在常见的浏览器中,默认会以UTF-8编码进行编码后发送到服务器端!而在中文 windows环境的服务器中,解码URL的时候,却用的是gb2312编码进行解码的,这样就导致了没法得到你在地址栏里输入的中文原文!
所以就会提示找不到文件名了。
如果一定要用中文 ,解决办法,仅限你本地浏览的解决办法
在浏览器中,打开“internet选项“菜单,选择”高级“,然后找到 “发送utf-8 URL“,把前面的钩去掉。然后确认。再重启浏览器。这样地址栏里的中文就会默认以gb2312编码 进行发送,这样服务器端就能正确找到该中文文件名的文件了
3. php中如何判断内容中是否包含指定的文字
如果不是特别复杂的字符判断,不建议用正则,php的字符串函数完全可以实现,strpos()例如:
$x = "abc张三klllk";
if(strpos($x,"张三") > 0){
echo "ok";
}
当然这样会有一个问题,就是当"张三"出现在字符串开头的时候,结果也为0,
这时候就要在字符串前加一特殊字符来判断。
$x="张三abc";
$x1 = "%**#".$x;
if(strpos($x1,"张三") > 0){
echo "ok";
}
(3)php是否包含中文扩展阅读
用explode进行判断PHP判断字符串的包含代码如下:
function checkstr($str){
$needle ='a';//判断是否包含a这个字符
$tmparray = explode($needle,$str);
if(count($tmparray)>1){return true;
} else{
return false;}
}4. php检查字符串中是否有汉字/数字/英文字母
只能用正则
<?
$str = "测试中文";
echo $str;
echo "<hr>";
//if (preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/", $str)) { //只能在GB2312情况下使用
//if (preg_match("/^[\x7f-\xff]+$/", $str)) { //兼容gb2312,utf-8 //判断字符串是否全是中文
if (preg_match("/[\x7f-\xff]/", $str)) { //判断字符串中是否有中文
echo "有中文";
} else {
echo "没中文";
}
if (preg_match("/\d/", $str)) { //判断字符串中是否有数字
echo "有数字";
} else {
echo "没数字";
}
if (preg_match("/\w/", $str)) { //判断字符串中是否有英文
echo "有英文";
} else {
echo "没英文";
}
?>
5. 如何用PHP查找字符串是否有某中文字符
如果是判断字符串是否包含中文可以用正则/[u4e00-u9fa5]/
如果只是查找是否有某中文字符用strpos就行了
比如查找字符串是否有“中”这个中文
if(strpos('查找字符串是否有某中文字符','中')!==false){
echo'包含"中"';
}else{
echo'不含"中"';
}
6. php判断是否有中文字符的两种方法
1、用正则判断是否为中文的代码
(1)文件为GB2312格式:
<?PHP
$str= 'incode';
//$str= '程序设计';
if (!preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/", $str))
{
echo '请您使用中文,谢谢!';
}?>
(2)文件为UTF-8格式:
把正则判断改为://if(preg_match("/([/x4e00-/x9fa5])/",$str, $arr) )
2、使用php中的mb_strlen和strlen函数判断 <!-- [if gte mso 10]>
方法比较简单:分别使用以上两个函数以当前编码测出字符的返回值,然后比较返回值。
返回值相等的为纯英文、纯数字、英数混排;
返回值不等,且strlen返回值可被mb_strlen整除的为纯汉字
返回值不等,且strlen返回值不可被mb_strlen整除的为英汉或数汉混排
代码如下:
<?php
$strarray[1] = "hello";
$strarray[2] = "123456";
$strarray[3] = "123hello";
$strarray[4] = "你好";
$strarray[5] = "123你好";
$strarray[6] = "hello你好";
$strarray[7] = "123hello你好";
foreach ($strarray as $ke=>$value) {
$x = mb_strlen($value,'gb2312');
$y = strlen($value);
echo $strarray[$ke].' <span style="color: #ff0000;" mce_style="color: #ff0000;">'.$x.'</span> <span style="color:#ff0000;" mce_style="color:#ff0000;">'.$y.'</span>';
}?>
输出结果:hello 5 5 123456 6 6 123hello 8 8你好 4 6 123你好 7 9hello 你好 9 11 123hello你好 12 14
7. php中判断字符串是否全是中文或含有中文的
123456789101112<?$str = "测试中文";echo $str;echo "<hr>";//if (preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/", $str)) { //只能在GB2312情况下使用//if (preg_match("/^[\x7f-\xff]+$/", $str)) { //兼容gb2312,utf-8 //判断字符串是否全是中文if (preg_match("/[\x7f-\xff]/", $str)) { //判断字符串中是否有中文echo "正确输入";} else {echo "错误输入";}?>
8. PHP正则表达式验证是否含有中文
判断是否有中文。
if (preg_match("/[\x7f-\xff]/", $string)) { echo "true"; }else{ echo "false"; }判断是否全部是中文
//if (preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/", $str)) { //只能在GB2312情况下使用 if (preg_match("/^[\x7f-\xff]+$/", $str)) { //兼容gb2312,utf-8
echo "true";
} else {
echo "false";
}
判断中文和编码有关 gbk是双字节,utf8是三字节,可以根据中文的范围来判断
编码范围1. GBK (GB2312/GB18030)
/x00-/xff GBK双字节编码范围
/x20-/x7f ASCII
/xa1-/xff 中文
/x80-/xff 中文
2. UTF-8 (Unicode)
/一-/龥 (中文)
/x3130-/x318F (韩文
/xAC00-/xD7A3 (韩文)
/u0800-/一 (日文)
ps: 韩文是大于[/龥]的字符
正则例子:
preg_replace("/([/x80-/xff])/","",$str);
preg_replace("/([一-龥])/","",$str);
希望可以采纳,谢谢。
9. php中判断字符串是否全是中文或含有中文的实现代码
可以,直接封装一个函数给你:
<?php
functioncheckChinese($string)
{
if(preg_match('/^[x{4e00}-x{9fa5}]+$/u',$string)===1){
//全是中文
return1;
}elseif(preg_match('/[x{4e00}-x{9fa5}]/u',$string)===1){
//包含中文
return0;
}
return-1;
}
$string="手机1141";
echocheckChinese($string);
当全部是中文的时候,函数返回 1;当有一部分是中文的时候,函数返回 0; 当不包含中文的时候,函数返回 -1。
10. PHP判断是不是包含某个汉字
strstr:
返回一个从被判断字符开始到结束的字符串,如果没有返回值,则不包含.
stristr:
它和strstr的使用方法完全一样.唯一的区别是stristr不区分大小写.
$email
=
‘
user中example.com’;
$domain
=
strstr($email,
‘中’);
echo
$domain;
//
prints
中example.com