當前位置:首頁 » 編程語言 » php中文的正則

php中文的正則

發布時間: 2022-07-01 14:52:05

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、使用[sS]匹配任意字元,而不是使用「.」
2、使用s單行修飾模式,例:$pattern='#abc.*?def#s';//能匹配abc換行def
3、使用s*匹配換行和空格,php里s能匹配空白字元,含換行

php里的中文使用[x7f-xff]表示,因此,使用正則:

$pattern='#[x7f-xff]+(?:s*[x7f-xff]+)*#';即可

㈢ php匹配中文的正則怎麼寫

<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<?php
function checkSafeask($safeask){
if(preg_match_all("/^([\x81-\xfe][\x40-\xfe])+$/",$safeask,$match)){
if(strlen($safeask)>50){
echo"您輸入的問題超出了25個漢字,請您重新填寫!!!";
}else{
echo $safeask;
return true;
}
}else{
echo "您輸入的問題不全是漢字,請您重新填寫!!!";
}
}
checkSafeask("漢字")
?>

㈣ php正則判斷字元串是否含有中文

functionchk_cn($str){
if(preg_match('|[x{4e00}-x{9fa5}]+?|u',$str)){
returntrue;
}
returnfalse;
}

調用這個 函數,返回true則是含有中文,false則無中文。

另外,x{4e00}-x{9fa5} 這個范圍我也不太確定是不是包含所有的中文范圍,沒有認真研究它的取值范圍。

㈤ PHP正則匹配中文

在PHP里,包含數字、字母、下劃線或中文的正則表達式如下:$pattern = "/[0-9a-zA-Z_\x80-\ff]+/";

㈥ PHP中文正則表達式

preg_replace("/[^a-z\(0-9\)\x4e00-\x9fa5]+/ig", "", $data);

但你要保證輸入的中文是Unicode, 不是全形的gb2312; 否則不能成功

㈦ PHP正則提取中文部分內容,怎麼實現呀

中文可以用正則表達式進行匹配,但是具體匹配方法與中文的編碼方式有關:


如果是GBK(GB2312、GB1080),那麼中文的編碼范圍是:

x80-xff


如果是UTF-8編碼,那麼中文的編碼范圍是:

u4e00-u9fa5


那麼匹配漢字的正則表達式可以是:

/[x7f-xff]+/

或者

/[u4e00-u9fa5]+/


例子代碼,顯示文件中的所有漢字(GBK編碼):

<?php
$s=file_get_contents('1.txt');
if(preg_match_all('/[x7f-xff]+/',$s,$r)){
for($i=1;$i<count($r[0]);$i++)echo"$i ".$r[0][$i]." ";
}
?>

㈧ php怎麼將中文利用正則表達式匹配出來

正則匹配中文漢字根據頁面編碼不同而略有區別:

GBK/GB2312編碼:[x80-xff]+ 或 [xa1-xff]+

UTF-8編碼:[x{4e00}-x{9fa5}]+/u

$str="賬單123";
//GBK/GB2312使用:
preg_match_all("/[x80-xff]+/",$str,$chinese);
//UTF-8使用:
//preg_match_all("/[x{4e00}-x{9fa5}]+/u",$str,$chinese);
print_r($chinese);

閣下所說的亂碼應該就是編碼沒弄對了

㈨ php中如何用正則表達式匹配中文字元呢

php中匹配一個或多個中文字元(包含簡體和繁體中文字元)的正則表達式如下:/[[b]\x{4e00}-\x{9fa5}]+/注意:php中正則表達式的16進制是以
\x
開頭的。

㈩ 給出一個中文漢字的PHP正則的判斷要求測試運行正確後再帖出。

匹配GB2312漢字的php正則表達式:([xb0-xf7][xa0-xfe])+

我給你個PHP程序的例子,你看看吧.

<?php

$str="這是二三一二漢字";

$str=iconv("utf-8","gb2312//IGNORE",$str);

if(preg_match("/([xb0-xf7][xa0-xfe])+/",$str)){

print_r("這是GB2312漢字");

}else{

print_r("這不是GB2312漢字");

}

?>

運行結果:

這是GB2312漢字

熱點內容
硬碟存儲伺服器怎麼連接 發布:2025-02-04 10:00:55 瀏覽:26
javaip埠 發布:2025-02-04 09:27:09 瀏覽:855
國產存儲科技進步二等獎 發布:2025-02-04 09:13:00 瀏覽:693
編程課v 發布:2025-02-04 08:45:00 瀏覽:108
模擬器能有手機腳本么 發布:2025-02-04 08:39:50 瀏覽:759
android顯示html圖片 發布:2025-02-04 08:35:31 瀏覽:793
如何查學信網賬號及密碼 發布:2025-02-04 08:33:55 瀏覽:504
linux32位jdk 發布:2025-02-04 08:33:55 瀏覽:249
康佳伺服器連接失敗是怎麼回事 發布:2025-02-04 08:18:51 瀏覽:918
編譯編譯有什麼 發布:2025-02-04 08:05:52 瀏覽:737