在php中,可以利用正規表示式「/[\x{4e00}-\x{9fff}] /u」和preg_match_all()函式來只符合漢字,語法「preg_match_all("/[ \x{4e00}-\x{9fff}」。preg_match_all()函數會搜尋字串中所有可以和正規表示式匹配的結果,配合「/[\x{4e00}-\x{9fff}] /u 」可以過濾字串,只取得漢字字元。
本教學操作環境:windows7系統、PHP8版、DELL G3電腦
#在php中,可以利用正規表示式「/[\x{4e00}-\x{9fff}] /u
」和preg_match_all()函數來只符合漢字。
preg_match_all()函數會搜尋字串中所有可以和正規表示式匹配的結果
preg_match_all(pattern,subject,matches,flags,offset)
參數說明如下:
preg_match_all() 函數可以傳回pattern 的符合次數(可能是0),如果發生錯誤則回傳FALSE。
preg_match_all()函數配合正規表示式「
/[\x{4e00}-\x{9fff}] /u
」可以過濾字串,只取得漢字字符。
註:preg_match_all()函數會將符合的函數字元一個個存入數組中(該陣列由第三個參數指定)。
<?php header("Content-type:text/html;charset=utf-8"); $str = "欢迎4546来到php这里。zblog,我的?#$%^天呀&())*(&^"; echo $str; preg_match_all("/[\x{4e00}-\x{9fff}]+/u","$str",$arr); var_dump($arr); ?>
此時可以使用 implode()函數將結果值拼接成一個字串。
implode('',$arr[0])
擴充知識:implode()函數
implode() 函數傳回一個由陣列元素組合成的字串。
implode(separator,array)
separator:可選。規定數組元素之間放置的內容。預設是 ""(空字串)。
array:必要。要組合為字串的陣列。
傳回值:傳回一個由陣列元素組合成的字串。
還有一個與 implode() 函數功能相同的函數:join() ,join() 函數是 implode() 函數的別名。
推薦學習:《PHP影片教學》
以上是php怎麼利用正規只匹配漢字的詳細內容。更多資訊請關注PHP中文網其他相關文章!