php 匹配替換中文


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,發現有些中文匹配不了。具體原因暫不清楚。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM