⑴ 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中如何判斷內容中是否包含指定的文字
如果不是特別復雜的字元判斷,不建議用正則,php的字元串函數完全可以實現,strpos()例如:
$x = "abc張三klllk";
if(strpos($x,"張三") > 0){
echo "ok";
}
當然這樣會有一個問題,就是當"張三"出現在字元串開頭的時候,結果也為0,
這時候就要在字元串前加一特殊字元來判斷。
$x="張三abc";
$x1 = "%**#".$x;
if(strpos($x1,"張三") > 0){
echo "ok";
}
(2)php判斷字元串是否包含中文擴展閱讀
用explode進行判斷PHP判斷字元串的包含代碼如下:
function checkstr($str){
$needle ='a';//判斷是否包含a這個字元
$tmparray = explode($needle,$str);
if(count($tmparray)>1){return true;
} else{
return false;}
}⑶ PHP 查找中文字元串
在PHP中查找中文字元,有兩種方案:
將PHP保存為與欲查找中文一樣的編碼,然後使用strpos查找。
將PHP保存為UTF-8無BOM編碼,然後轉換字元串編碼為UTF-8,再用strpos查找。
第一種方法:
strpos($curl_res,'中文');
第二種方法:
$str=mb_convert_encoding($str,'utf-8','gbk');
mb_strpos($str,'中文');
主意:函數中的中文字元串參數的編碼,必須要和PHP文件保存格式的編碼一致。
⑷ php 如何判斷字元是漢字還是英文
常見的就是用strlen()和mb_strlen()函數
strlen($str); 中文utf8佔3個字元
mb_strlen($str,'utf8'); 中文utf8佔1個字元
可以根據strlen()和mb_strlen()返回結果,兩者比較判斷是漢字、英文還是中英混合
strlen() 等於 mb_strlen() 全英
strlen() 對 mb_strlen() 取余為0 全漢
需要注意的是,mb_strlen並不是PHP核心函數,使用前需要確保在php.ini中載入了php_mbstring.dll,即確保「extension=php_mbstring.dll」這一行存在並且沒有被注釋掉,否則會出現未定義函 數的問題。
⑸ 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 "沒英文";
}
?>
⑹ php 如何識別文本語言種類,比如輸入「你好」,返回「中文」;輸入「hello」,返回英文
判斷文本語言的種類其實是判斷字元集的位置范圍,這里提供幾款正則給你參考:
<?php
$string='網路知道';
if(preg_match_all("/^([x81-xfe][x40-xfe])+$/"),$string,$match)
//使用preg_match_all判斷的是全部是中文
//若使用preg_match則判斷的是是否包含中文
//$match是一符合正則要求結果的多維數組
//如果是UTF-8編碼的話,則可以將正則替換成/^([u4e00-u9fa5])+$/
{
echo'中文';
}
else
{
echo'不是中文';
}
?>