[php] 2024-03-29 圈点127
摘要:PHP处理中文的注意点,替换中文时在所在的php文件里,要加上
PHP处理中文的注意点:
用mb开头的函数对中文进行处理比较好,如:
mb_strstr
如果是对特定的中文字符进行替换,用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,发现有些中文匹配不了。具体原因暂不清楚。
$data = "你是我最爱的人";
$a = preg_replace(['/我/','/你/'],'',mb_strstr($data,"是"));
替换中文时在所在的php文件里,要加上
mb_internal_encoding("UTF-8");
mb_regex_encoding("UTF-8");