1、匹配中文
$str = "中文“; preg_match_all("/[\x{4e00}-\x{9fa5}]+/u",$str,$match);
2、替換中文:
在所在的php文件里,要加上
mb_internal_encoding("UTF-8");
mb_regex_encoding("UTF-8");
這樣才能支持多字節進行模式匹配。詳細介紹:http://blog.chinaunix.net/uid-20279807-id-1711213.html
3、php提供了四個替換函數,分別是str_replace,preg_replace,mb_ereg_replace,ereg_replace(在php7.1已經摒棄掉)
在替換中文時,發現用preg_replace替換中文最合適.
str_replace 不支持正則表達式,不能完全匹配,導致局部字段被替換。例如: $str = "模塊一 模塊一斷電",$str = str_replace("模塊一","module1",$str);,導致"模塊一斷電"被替換成"module1斷電"。
mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] ) 支持$pattern,$replacement 以數組的方式進行查找替換,但數組過多時,進行搜索匹配,耗CPU嚴重。
mb_ereg_replace 支持正則表達式,但不用分隔符//進行匹配,但使用mb_ereg_replace,發現有些中文匹配不了。具體原因暫不清楚。