$str = "我是中国人sdfsfsfsdf<img1>fsadfsf<img2>";
$ar  = array("a.jpg","b.jpg");如果将<img1>替换成a.jpg
<img2>替换成b.jpg形成"我是中国人sdfsfsfsdf<a.jpg>fsadfsf<b.jpg>";

解决方案 »

  1.   

    $keys=array('img1','img2');
    echo strtr($str,array_combine($keys,$ar));
      

  2.   

    如何提取img1 img2到$keys数组呢
      

  3.   

    $str = "我是中国人sdfsfsfsdf<img1>fsadfsf<img2>";
    $ar  = array("a.jpg","b.jpg");echo preg_replace('@<img(\d+)>@Ue', '"<".$ar[$1-1].">"', $str);
    参看正则表达式e修饰符
      

  4.   


    $str = "我是中国人sdfsfsfsdf<img1>fsadfsf<img2>";
    $ar1= array('a.jpg','b.jpg');
    $ar=array('<img1>','<img2>');
    echo str_replace($ar,$ar1,$str);