可以判斷。判斷方法:1、使用preg_match()函數配合正則來判斷是否全是中文 ,語法「!preg_match("/[^\x80-\xff]/i",$str)」;2、使用preg_match()函數配合正則來判斷是否包含中文 ,語法「preg_match("/[\x7f-\xff]/", $str)」或「preg_match('/[^\x00-\x80]/',$str)」。
php入門到就業線上直播課:進入學習
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API偵錯工具:
本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦
php可以判斷字串是否是中文,主要是利用正則匹配中文進行判定。
判斷可分兩種情況:
字串的字元全是中文 ,如果
字串包含中文
情況1:判斷全是中文
方法:preg_match()函數+正規表示式「/[^\x80-\xff]/i
」
<?php
header('content-type:text/html;charset=utf-8');
$str = "12hello13";
$str="'324是";
if(!preg_match("/[^\x80-\xff]/i",$str)){
echo "全是中文,是中文字串";
}else{
echo "不是中文字串";
}
?>
登入後複製
情況2:判斷含有中文
方法1:preg_match()函數+正規表示式「/[\x7f-\xff]/
」
<?php
header('content-type:text/html;charset=utf-8');
$str = "中文";
if (preg_match("/[\x7f-\xff]/", $str)) {
echo "含有中文";
}else{
echo "沒有中文";
}
?>
登入後複製
方法2:preg_match()函數+正規表示式「/[^\x00-\x80]/
」
<?php
header('content-type:text/html;charset=utf-8');
$str = "1234";
$pattern = '/[^\x00-\x80]/';
if(preg_match($pattern,$str)){
echo "含有中文";
}else{
echo "沒有中文";
}
?>
登入後複製
函數說明:preg_match()
PHP 中的 preg_match() 函數可以根據正規表示式對字串進行搜尋匹配,函數的語法格式如下:
preg_match($pattern,$subject [, &$matches [, $flags = 0 [, $offset = 0 ]]])
登入後複製
引數說明如下:
$pattern:要搜尋的模式,也就是編輯好的正規表示式;
$subject:要搜尋的字串;
$matches:可選引數(陣列型別),如果提供了 $matches,它將被填充為搜尋結果。 $matches[0] 包含完整模式匹配到的文字, $matches[1] 包含第一個捕獲子組匹配到的文字,以此類推;
$flags:可選引數,$flags 可以被設定為 PREG_OFFSET_CAPTURE,如果傳遞了這個標記,對於每一個出現的匹配,返回時都會附加上字串偏移量(相對於目標字串的);
$offset:可選引數,用於指定從目標字串的哪個位置開始搜尋(單位是位元組)。
preg_match() 函數可以返回 $pattern 的匹配次數,它的值將是 0 次(不匹配)或 1 次,因為 preg_match() 在第一次匹配後將會停止搜尋。
推薦學習:《》
以上就是php可以判斷字串是否是中文嗎的詳細內容,更多請關注TW511.COM其它相關文章!