本帖最后由 q344617263 于 2010-08-07 01:08:02 编辑

解决方案 »

  1.   

    $s = '我有一个很长的字符串,里面有很多我要替换的内容,要被替换的内容都有特定的开头和结尾(中间内容不一样)
    我写了个替换函数,但不知道哪错了,求指点';
    echo replace_all_badwords($s,'(',')','ABCD');得到:
    我有一个很长的字符串,里面有很多我要替换的内容,要被替换的内容都有特定的开头和结尾ABCD
    我写了个替换函数,但不知道哪错了,求指点
    有什么问题?不是你要的?那你想要什么?
      

  2.   


    我今天又实验了一下,只要字符串当中没有中文,的确可以成功,但是一旦有中文($start,$end),就失败了
      

  3.   


    我今天又实验了一下,只要字符串当中没有中文,的确可以成功,但是一旦有中文($start,$end),就失败了
      

  4.   

    <?php
    function replace_all_badwords($str,$start,$end,$goodwords){
     $strarr=explode($start,$str);
     $arr_number = count($strarr);
     for($i=1;$i<$arr_number;$i++)
     {
      $temp =explode($end,$strarr[$i]);
      $strarr[$i]=$temp[0];
      $strarr[$i]=$start.$strarr[$i].$end;
     }
     for($j=1;$j<$arr_number;$j++)
     {
     $str=str_replace($strarr[$j],$goodwords,$str);
     }
     return $str;
       

    $string = "这是一个中文字符串";
    $newstr = replace_all_badwords($string,"这","一","bushi");
    echo $newstr;
    ?>运行这个代码得到的是乱码
    bushi涓腑鏂囧瓧绗︿覆