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