php正則漢字
『壹』 php 正則表達式 【以漢字「王」開頭,後面匹配1~2個漢字】的正則表達式怎麼寫求高手指教
$pa = '/[\x4e00-\x9fa5]/U';
var_mp(preg_match($pa,'漢字'));
/*********************************************/
$pa = '/\x29579[\x4e00-\x9fa5]{2}/U';
『貳』 php preg_replace()正則匹配漢字,網上搜的都不對啊!
匹配任意中文字元(unicode編碼):[\x{4e00}-\x{9fff}] (GBK編碼):([\xb0-\xfe][\x00-\xff])+ 這是我在閱讀《正則指引》一書,書中寫的,親測可行。
『叄』 中文字元,漢字在PHP正則表達式里該怎麼表達
if(!preg_match("/^[\u4e00-\u9fa5]+$/", $content)){ echo "<script language=\"JavaScript\">alert(\"網站關鍵詞輸入不合法!\");</script>"; }else{ file_put_contents("../_cfg.php",$configs); msg("<a style=\"color:#075587\" href=\"?act=list\">返回網站初始化設置頁面</a>","",""); }
結果如下,顯示:Warning: preg_match() [function.preg-match]: Compilation failed: PCRE does not support \L, \l, \N, \U, or \u at offset 3 in /data/home/qxu1084910324/htdocs/op/set.php on line 73,意思是\L等不支持。
if(!preg_match("/^[\x4e00-\x9fa5]+$/", $content)){ echo "<script language=\"JavaScript\">alert(\"網站關鍵詞輸入不合法!\");</script>"; }
換成這樣顯示如下:雖然不出錯了,但是依然不能判別。
if(!preg_match("/^[\x80-\xff]*^/", $content)){ echo "<script language=\"JavaScript\">alert(\"網站關鍵詞輸入不合法!\");</script>"; }
改成這樣匹配所有utf8包括全形和特殊,顯示成功,但是由於我必須要排除特殊字元和全形符號,再嘗試方法:
if(!preg_match("/^[\x{2460}-\x{2468}]+$/u", $content)){ echo "<script language=\"JavaScript\">alert(\"網站關鍵詞輸入不合法!\");</script>"; }
顯示錯誤:
if(!preg_match("/^[\x4e00-\x9fa5]+$/u", $content)){ echo "<script language=\"JavaScript\">alert(\"網站關鍵詞輸入不合法!\");</script>"; }
這個顯示如下:Warning: preg_match() [function.preg-match]: Compilation failed: invalid UTF-8 string at offset 6 in /data/home/qxu1084910324/htdocs/op/set.php on line 73,utf8格式字元超過范圍。
6
if(!preg_match("/^[\x{4e00}-\x{9fa5}]+$/u", $content)){ echo "<script language=\"JavaScript\">alert(\"網站關鍵詞輸入不合法!\");</script>"; }
顯示成功。
『肆』 PHP正則表達,漢字大小寫字母數字下劃線以及@符號
郵箱的正則表達式為:/^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$/,其他的一樓已經回答得很完備了
『伍』 PHP正則匹配中文字母數字正則表達式
方法一
代碼如下 if(preg_match("/^d*$/" " ")) { echo "全數字 "; }
if(preg_match("/^[a z]*$/i" "fdsFDfd")) { echo "全字母 "; }
if(preg_match("/^[a zd]*$/i" "fd fd ")) { echo "有數字有字母 "; }
中文漢字
代碼如下 $username=$_REQUEST[ username ]; if(!preg_match("/^[a z xa xff]{ }$/" $username)) { echo" r "; exit; }
上面是比較散的 下面把幾個總結到一起來
lishixin/Article/program/PHP/201311/21332
『陸』 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正則表達式中怎麼匹配漢字啊 - 技術問答
匹配中文字元的正則表達式:
[\\u4e00-\\u9fa5]匹配雙位元組字元(包括漢字在內):[^\\x00-\\xff]應用:計算字元串的長度(一個雙位元組字元長度計2,ASCII字元計1)String.prototype.len=function(){return
this.replace([^\\x00-\\xff]/g,\"aa\").length;}匹配空行的正則表達式:\\n[\\s|
]*\\r匹配HTML標記的正則表達式:/.*|/匹配首尾空格的正則表達式:(^\\s*)|(\\s*$)
『捌』 php正則匹配中文亂碼問題
當然亂碼啦,一個漢字在php里是三個字元,你這樣直接用.去匹配任意字元的話,三個.才等於一個漢字。你把一個漢字給截取掉了,當然亂碼了,不信你把你的0,10改成0,11。就不亂碼的,而且只匹配出兩個漢字。漢字不是這樣去匹配的,有專門匹配漢字的正則,
『玖』 php中如何用正則表達式匹配中文字元呢
php中匹配一個或多個中文字元(包含簡體和繁體中文字元)的正則表達式如下:/[[b]\x{4e00}-\x{9fa5}]+/注意:php中正則表達式的16進制是以
\x
開頭的。
『拾』 php正則表達式匹配一段中文,中間有換行,空白,應該怎麼寫
有多種處理方法:
1、使用[sS]匹配任意字元,而不是使用「.」
2、使用s單行修飾模式,例:$pattern='#abc.*?def#s';//能匹配abc換行def
3、使用s*匹配換行和空格,php里s能匹配空白字元,含換行
php里的中文使用[x7f-xff]表示,因此,使用正則:
$pattern='#[x7f-xff]+(?:s*[x7f-xff]+)*#';即可