$str="<img src=\"C:/aaa.jpg\" width=\"50\" height=\"16\" BORDER=0>";preg_match("/<img src=\"(.*)\" width=\"\d+\" height=\"\d+\" BORDER=\d+>/i",$str,$arr);
echo "<pre>";
print_r($arr[1]); //$arr[0]为原字符串 $arr[1]你是要取得的
echo "</pre>";
$replace="d:/888.jpg";
$s= preg_replace("/(<img src=\").*(\" width=\"\d+\" height=\"\d+\" BORDER=\d+>)/e","'\\1'.'$replace'.'\\2'",$str);
print_r($s);
exit;

解决方案 »

  1.   

    $s= preg_replace("/(<img src=\").*(\" width=\"\d+\" height=\"\d+\" BORDER=\d+>)/e","'\\1'.'$replace'.'\\2'",$str);将/e改成/i后,输出:
    '<img src="'.'d:/888.jpg'.'" width="50" height="16" BORDER=0>'怎么回事啊?
      

  2.   

    稍做修改,可以啦!
    <?
    $str="<img src=\"C:/aaa.jpg\" width=\"50\" height=\"16\" BORDER=0>";preg_match("/<img src=\"(.*)\" width=\"\d+\" height=\"\d+\" BORDER=\d+>/i",$str,$arr);
    echo "<pre>";
    print_r($arr); //$arr[0]为原字符串 $arr[1]你是要取得的
    echo "</pre>";$replace="d:/888.jpg";
    $str =  preg_replace("/(<img src=\").*(\" width=\"\d+\" height=\"\d+\" BORDER=\d+>)/s","\\1$replace\\2",$str);
    print_r($str);
    exit;
    ?>谢谢高手!我就是正则学不好啊,给分给分!
      

  3.   

    preg_replace("/(<img src=\").*(\" width=\"\d+\" height=\"\d+\" BORDER=\d+>)/e","'\\1'.'$replace'.'\\2'",$str);
    echo $str;
    也可以