我想
for ($i=1;$i<=2;$i++)
{
    $str = preg_replace('/'.a.$i.'/', 'cc', 'a1cccca2');
    
}
echo $str;
结果只替换了a2;我需要将a1cccca2 中的a1替换成一数 a2替换城另一个数 不能写两条替换语句 怎么写? 也有可能需要替换a3,a4,a5之类的

解决方案 »

  1.   

    $str = 'a1cccca2';
    for ($i=1;$i <=2;$i++) 

        $str = preg_replace('/'.a.$i.'/', 'cc', $str); 
        

    echo $str
      

  2.   

    搞定 忘记了 数组了
    <?php $a = array("/a1/","/a2/");
     $b = array("cc","bb");
      $str = preg_replace($a, $b, 'a1cccca2');
        
       
      echo $str;?>
      

  3.   

    $str = 'a1cccca2';
    for ($i=1;$i <=2;$i++) 

        $str = preg_replace('/'.a.$i.'/', 'cc', $str); 
        

    echo $str; 
      

  4.   

    <?php
    $str = 'a1cccca2';
    echo str_ireplace(array('a1','a2'),array(1111,2222),$str);//方法一
    echo "\n--华丽的分割线--\n";
    $arr = array('a1'=>333,'a2'=>444);
    echo preg_replace('/a\d/ie','$arr[$0]',$str);//方法二
    ?>