php匹配中文
A. php匹配特定的中文字元串
<?php
$str = "[尺碼參考]均碼 適合身高:155-175cm/胸圍:70-90cm/腰圍:65-75cm/臀圍:80-93cm[厚度指數]稍薄";
//需要匹配到[尺碼參考]和[厚度指數]之間的中文字元串
if (preg_match('|\[尺碼參考\](.*?)\[厚度指數\]|',$str,$reg)) echo "匹配內容:".$reg[1];
?>
輸出結果:
匹配內容:均碼 適合身高:155-175cm/胸圍:70-90cm/腰圍:65-75cm/臀圍:80-93cm
是你需要的嗎?
B. 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字元串的編碼與頁面編碼不一致呢?
C. php中用preg-match匹配中文出錯,
<?php
//示例代碼:
$str = 'hello 這里是php preg_match正則匹配演示';
// UTF8編碼:正則表達式匹配中文;
if(preg_match('/[\x{4e00}-\x{9fa5}]+/u',$str)){
echo '匹配成功,有中文字元串!';
}else{
echo '沒有中文字元串。';
}
// GB2312,GBK編碼:正則表達式匹配中文;
if(preg_match("/^[".chr(0xa1)."-".chr(0xff)."A-Za-z0-9_]+$/",$str)){
echo '匹配成功,有中文字元串!';
}else{
echo '沒有中文字元串。';
}
D. PHP正則匹配出漢字
html源碼中有兩個「知道」,一個是標題,一個鏈接
我的理解,是連接里的
用(?<=<a[^>]+>)(?=(知[\w&;]+|道[\w&;]*)?</a>)(知[\w&;]+|道[\w&;]*)?
得到的結果是:
知 道 (中間有&-n-b-s-p;)
對這個結果,再用一次replace("",「[^\\u4e00-\\u9fa5]+」,"");就可以得到知道了。
這個我無法一次得到。
我不會php哦,不能寫php代碼了。也不知道對樓主的意思理解的對不。要是有問題,請樓主再描述一下。
E. php 正則匹配 兩端中文之間內容
用下面的代碼試試:
preg_match_all('/<a[^>]+href=\"([^\"]+)\"[^>]*>/', $content, $matches);
print_r($matches);
注意:
$matches[0] 是整個正則表達式匹配的內容;
$matches[1] 就是括弧裡面匹配的內容,也就是你要的鏈接。
F. 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);
閣下所說的亂碼應該就是編碼沒弄對了
G. php中如何用正則表達式匹配中文字元呢
php中匹配一個或多個中文字元(包含簡體和繁體中文字元)的正則表達式如下:/[[b]\x{4e00}-\x{9fa5}]+/注意:php中正則表達式的16進制是以
\x
開頭的。
H. PHP preg_match 函數怎麼匹配中文
<?php
//示例代碼:
$str='hello這里是phppreg_match正則匹配演示';
//UTF8編碼:正則表達式匹配中文;
if(preg_match('/[x{4e00}-x{9fa5}]+/u',$str)){
echo'匹配成功,有中文字元串!';
}else{
echo'沒有中文字元串。';
}
//GB2312,GBK編碼:正則表達式匹配中文;
if(preg_match("/^[".chr(0xa1)."-".chr(0xff)."A-Za-z0-9_]+$/",$str)){
echo'匹配成功,有中文字元串!';
}else{
echo'沒有中文字元串。';
}
?>
I. 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]." ";
}
?>
J. 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("漢字")
?>