把字符串中的任意连续字符换成一个对应字符

  •   2009-07-31/22:44
  • <?php
      //1,把字符串中的任意空格换成一个
      $str1 = 'A    B         C   ';
      echo '<xmp>';
      echo '1:';
      echo preg_replace ("/\s+/", ' ', $str1);
      echo '</xmp>';
      //2,把字符串中的任意连续字符 M 换成一个 M
      echo '2: ';
      $str1 = 'AMMMBMMMMCMM   ';
      echo preg_replace ("/M+/", 'M', $str1) .'<br>';
      //3,把字符串中的任意连续字符换成一个对应字符
      echo '3:<br>';
      $str1 = 'ACCCB  CCCCCGGG  OOO   YYYFFFXXXZZZZZ';
      echo $str1 .'<br>';
      $str2 = '';
      $i = 0;
      for ($i=0; $i<strlen($str1); $i++)
      {
       $str2 = $str2 . $str1{$i};
        $j = 1;
        while ($str1{$i}==$str1{$i + $j})
          $j++;
        $i = $i + $j - 1;
      }
      echo $str2 .'<br>';
      //4,把字符串中的任意连续字符换成一个对应字符
      echo '4:<br>';
      $str1 = 'ACCCB  CCCCCGGG  OOO   YYYFFFXXXZZZZZ';
      echo $str1 .'<br>';
      $len = strlen($str1);
      $str2 = $str1[0];
      $ch = $str2;
      for($i=1; $i<$len; $i++){
        $ch2=$str1[$i];
        if($ch!=$ch2){
          $str2.=$ch2;
          $ch=$ch2;
        }
      }
      echo $str2 . "<br />";
      //5,把字符串中的任意连续字符换成一个对应字符
      echo '5:<br>';
      $str1 = 'ACCCB  CCCCCGGG  OOO   YYYFFFXXXZZZZZ';
      echo preg_replace("/(.)\\1+/", "[url=file://\\1]\\1[/url]", $str1) .'<br>';
    ?>

    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多