正则替换出现乱码,求解

countstars 2005-07-27 12:32:48
$str = "我等这么久了,连一个内测号都没有!我看我还是乖乖玩剑侠一吧!剑侠2是掉我们的胃口哼~~讨厌死它了。";
$str = preg_replace("/(日)/", "[\\1]", $str);
echo $str;
...全文
217 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
countstars 2005-07-28
  • 打赏
  • 举报
回复
up
countstars 2005-07-27
  • 打赏
  • 举报
回复
拆分成数组,处理后再连接起来
这个是什么意思?不能理解。
zhiin1 2005-07-27
  • 打赏
  • 举报
回复
这样就行了!

<?php
$str = "我等这么久了,连一个内测号都没有!我看我还是乖乖玩剑侠一吧!剑侠2是掉我们的胃口哼~~讨厌死它了。";

function mb_replace($pattern, $replacement, $string, $sourceEncoding)
{
$string = mb_convert_encoding($string, "utf-8", $sourceEncoding);
$pattern = mb_convert_encoding($pattern, "utf-8", $sourceEncoding);
$replacement = mb_convert_encoding($replacement, "utf-8", $sourceEncoding);
$string = mb_ereg_replace($pattern, $replacement, $string);
return mb_convert_encoding($string, $sourceEncoding, "utf-8");
}

echo mb_replace("(日)", "[\\1]", $str, "gb2312"); //其中的"gb2312"与你网页的编码对应
?>
xuzuning 2005-07-27
  • 打赏
  • 举报
回复
1、不要用正则表达式去匹配单个汉字
2、高版本php的mb_ereg_replace一样会匹配错误,应该是bug。该死的日本鬼子

建议拆分成数组,处理后再连接起来
zhiin1 2005-07-27
  • 打赏
  • 举报
回复

哈哈 严重关注

居然用mb_ereg_replace都乱码!
countstars 2005-07-27
  • 打赏
  • 举报
回复
顶!唠叨老大在么?
aniude 2005-07-27
  • 打赏
  • 举报
回复
嘿嘿,自己做一个字库咯,,,,,,,,
zairwolf 2005-07-27
  • 打赏
  • 举报
回复
这是对中文支持性不好造成的。同样关注这个问题。

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧