解决方案 »

  1.   

    preg_match('/(^tr).+?/i',$str1,$m);
    //$m[1]   tr
    $new=preg_replace('/([^`]+).+?(http.+)/i',"$1<img src='$2'>",$str2);
    echo $new;//sds<img src="http://img.sd.001.png">
      

  2.   

    1.你应该多给一些类似的字符串去找规律,这个环境来看不用正则:list($tr) = explode('/', $str1);
    2.$a = preg_replace('/http(.*)\.(png|jpg|gif|jpeg)/Ui', '<img src="http$1.$2" />', $str2);
    不能根据tr去取tr吧 - - 
    取url的正则,后面随便加点字符就无效了
      

  3.   

    $str1 = 'tr/sd/rf/sd';
    preg_match('#^[^/]+#', $str1, $match);
    echo $match[0];
    tr$str2 = "sds``http://img.sd.001.png";
    $t = preg_replace('/``(\S+)/', '<img src="$1">', $str2);
    echo $t; sds<img src="http://img.sd.001.png">
      

  4.   

    返回的是这个 
    string(34) "sds
    <img src="">
    http://img.sd.001.png"