$str = "中华人民共和国是由*党,于*年创立,当前国家主席是*同志.";已知数组 $array
Array ( [0] => 共产 [1] => 1949 [2] => 胡锦涛 )现在需要将上面的*号,依次替换成中华人民共和国是由 共产 党,于 1949 年创立,当前国家主席是 胡锦涛  同志请帮忙解答一下,谢谢.

解决方案 »

  1.   

    $str = "中华人民共和国是由$array[0]党,于$array[1]年创立,当前国家主席是$array[2]同志.";
      

  2.   

    我用  $titleArray = split("[*]",$str); 这样把str分割成组数,然后再组合,将就解决了,但不知道还有没有更好的办法?
      

  3.   

    但组数的大小与*号 的个数是一样多的.比如有 三个* 号,那么数组大小,肯定也是 count($array)=3的
      

  4.   


    $str = "中华人民共和国是由*党,于*年创立,当前国家主席是*同志.";
    $arr = Array ('共产','1949','胡锦涛');
    for($i=0;$i<count($arr);$i++)
    {
    $str = preg_replace("/\*/",$arr[$i],$str,1);
    }
    echo $str;
      

  5.   


     $str = "中华人民共和国是由*党,于*年创立,当前国家主席是*同志.";
     $arr = Array ('共产','1949','胡锦涛');
     $reg = "";
     $rep = ""; for($i=1;$i<count($arr)+1;$i++)
     {
      $reg = $reg.'(.*)\*';
      $rep = $rep.'${'.$i."}".$arr[$i-1];
     }
     echo preg_replace("/$reg/",$rep,$str);