$test=preg_replace("/<a href=.+>(.*)</a>/U","<img src=\"\\1\">",$test);

解决方案 »

  1.   

    谢谢 syre(神仙) 的回复,
    但我要的是上面的整个内容替换成下面那样,就是替换<a href....>和</a>之间的文字,还有<td>和</td>之间的内容.
      

  2.   

    $test = <<<HTML
    <a href="http://test">test</a>
    <img src="test">
    <td>测试</td>
    HTML;$re[] = "#(<a.+?>)(.+?)(<\/a>)#is";
    $re[] = "#(<td.*?>)(.+?)(<\/td>)#is";$replace[] = "\\1test ok\\3";
    $replace[] = "\\1测试替换\\3";
    $str = preg_replace( $re, $replace, $test);echo $str;