PHP用str_replace()能替换中文汉字吗?
3 回答
当年话下
TA贡献1890条经验 获得超9个赞
mb_string扩展有没有打开啊,如果打开的话,可以用双字节可靠的mb_ereg_replace函数,因为str_replace不是双字节可靠的函数,
PHP code <? echo mb_ereg_replace("格式","新格式","将中文字符的格式替换"); //输出 将中文字符的新格式替换 ?>
Smart猫小萌
TA贡献1911条经验 获得超7个赞
可以正常转换,只不过你的变量误用了!
$test = str_replace(',', ',',$str); $test=str_replace('。','.',$str);
第一句是将中文逗号转换为英文逗号,赋值给 $test
第二句呢?为什么后面的变量又是 $str,这样 $test 自然被再次赋值,仅仅替换了句号
只要将第二句的 $str 替换成 $test 即可
123456789101112131415 | $str ="一直以来,总觉得自己是一颗小草,一颗最不起眼的小草,没有个性,没有光芒。就像歌词中所唱:没有花香,没有树高,我 是一棵无人知道的小草。尽管我知道“尺有所长,寸有所短”的道理,可是,自卑的野草还是会在内心疯长,悒郁的阴霾还是会在心 间弥漫。有时候,负面情绪压在心头,宛如漫漫征程中的负重前行,心灵会很累,很累。"; echo "$str" ; $test = str_replace ( ',' , ',' , $str ); $test = str_replace ( '。' , '.' , $test ); $arr =preg_split ( '/[,.]/' , $test ); echo '<pre>' ; print_r( $arr ); echo '</pre>' ; |
扬帆大鱼
TA贡献1799条经验 获得超9个赞
$test = str_replace(',', ',',$str);
$test=str_replace('。','.',$str);
第一句替换后。$str的值不变。。替换后的结果赋值给了$test
导致第二句执行后 $test 只是替换了中文句号
修改方法
将
$test=str_replace('。','.',$str);
修改为
$test=str_replace('。','.',$test);
- 3 回答
- 0 关注
- 4554 浏览
添加回答
举报
0/150
提交
取消