php正則中文字元
1. php正則表達式匹配一段中文,中間有換行,空白,應該怎麼寫
有多種處理方法:
1、使用[sS]匹配任意字元,而不是使用「.」
2、使用s單行修飾模式,例:$pattern='#abc.*?def#s';//能匹配abc換行def
3、使用s*匹配換行和空格,php里s能匹配空白字元,含換行
php里的中文使用[x7f-xff]表示,因此,使用正則:
$pattern='#[x7f-xff]+(?:s*[x7f-xff]+)*#';即可
2. php 求用正則匹配中文以及標點符號
你指的連續,那麼就要求是兩個以上了:
1
$reg ='/[\x80-\xff]{2,}/';
這個正則是表示匹配兩個位元組以上的多位元組字元(多位元組字元通常高位為 1)。
3. php中如何用正則表達式匹配中文字元呢
php中匹配一個或多個中文字元(包含簡體和繁體中文字元)的正則表達式如下:/[[b]\x{4e00}-\x{9fa5}]+/注意:php中正則表達式的16進制是以
\x
開頭的。
4. php正則匹配中文字元 排除符號
你指的連續,那麼就要求是兩個以上了:
$reg='/[x80-xff]{2,}/';
這個正則是表示匹配兩個位元組以上的多位元組字元(多位元組字元通常高位為 1)。
5. 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*$)
6. PHP,求匹配該字元串的正則表達式
<?php
//$str = '比如「大眾汽車」,我想從一段中文文字之中匹配出「大眾汽車」四個字,如果有,返回true,如果沒有,返回false';
$str = '這句只有東風本田';
if(preg_match("|大眾汽車|is",$str))
{
echo "有大眾汽車";
}
else
{
echo "沒有大眾汽車";
}
?>
7. PHP 正則替換中文字元 難度極高
這個用正則恐怕不,倒不如用 字元串搜索 一個一個來 然後用ord判斷自負按ascii碼這里有一個問題就是一個漢字算兩個字元,所以遇到漢字,計數要加二
8. php正則匹配中文亂碼問題
當然亂碼啦,一個漢字在php里是三個字元,你這樣直接用.去匹配任意字元的話,三個.才等於一個漢字。你把一個漢字給截取掉了,當然亂碼了,不信你把你的0,10改成0,11。就不亂碼的,而且只匹配出兩個漢字。漢字不是這樣去匹配的,有專門匹配漢字的正則,
9. PHP中文文字正則替換,並將匹配的中文文字加粗
<?php
$str = "中文123美麗abc開心。?我們";
echo preg_replace('#(?:(?![,。?])[xC0-xFF][x80-xBF]+)+#','<b>$0</b>',$str);
//(?:[xC0-xFF][x80-xBF]+) 單個中文字元,不需要引用,因此使用?:
//(?![,。?]) 排除中文標點符號,這里要寫入中文標點
//(?:(?![,。?])[xC0-xFF][x80-xBF]+) 排除中文標點符號後的中文字元
//(?:[xC0-xFF][x80-xBF]+)+ 1個以上的中文字元
//結果 <b>中文</b>123<b>美麗</b>abc<b>開心。?我們</b>
?>
10. php正則判斷字元串是否含有中文
functionchk_cn($str){
if(preg_match('|[x{4e00}-x{9fa5}]+?|u',$str)){
returntrue;
}
returnfalse;
}
調用這個 函數,返回true則是含有中文,false則無中文。
另外,x{4e00}-x{9fa5} 這個范圍我也不太確定是不是包含所有的中文范圍,沒有認真研究它的取值范圍。