将所有替换的文本转化成utf-8
echo str_replace(iconv('gb2312','utf-8', "本"),iconv('gb2312','utf-8', "<font color='#0000ff'>本</font>"),iconv('gb2312','utf-8', "北京市朝阳区"));请不要重复发帖!

解决方案 »

  1.   

    不错,类似这样的问题是有过贴子,但是那些方法我已经试过,都不行的,所以又发了一次。“本”是个变量$notice_key的值,但是当这个变量是其它值时,就不出现这种问题!快快帮帮我!!!!
      

  2.   

    echo str_replace(iconv('gb2312','utf-8', "本"),iconv('gb2312','utf-8', " <font color='#0000ff'>本 </font>"),iconv('gb2312','utf-8', "北京市朝阳区")); 你再转换成gb2312的不就行了吗?写php还是全部用utf-8编码吧,不然够你麻烦的了.
      

  3.   

    汉字是双字节的,str_replace 把它拆开了,比如 北的后半部分和京的前半部分可能就是本字
    手册上说要加载mbstring模块
    另外找到下面这样的函数,不知有没有帮助   function   m_replace($search,$replace,$str)   
      {   
      $len =   strlen($search);   
      $r =   "";   
      while($str){   
      $k =   1;   
      if(substr($str,0,$len)==$search){   
      $r .=   $replace;   
      $str =   substr($str,$len);   
      }else{   
      if(ord(substr($str,0,1))>128&&ord(substr($str,1,1))>=64&&ord(substr($str,1,1))!=127) $k=2;   
      $r .=   substr($str,0,$k);   
      $str =   substr($str,$k);   
      }   
      }   
      return   $r;   
      }   
     
      echo   m_replace("本"," <font  color='#0000ff'>本 </font>","北京市朝阳区");
       
      echo   m_replace("北京"," <font  color='#0000ff'>北京</font>","北京市朝阳区");
      

  4.   

    果然 '北'的后半部分和 '京'的前半部分真的是'本'echo substr("北京",0,2);//北
    echo substr("北京",1,2);//本
    echo substr("北京",2,2);//京