<?php
$html = <<< HTML
<IMG src="/wjs/images/2005/07/19/20050719101837_thumb.jpg">
<IMG src="/wjs/images/2005/07/19/20050719101840_thumb.jpg">
<IMG src="/wjs/images/2005/07/19/20050719101843_thumb.jpg">
HTML;/*
我想在将内容存入数据库之前,替换成如下形式。
<a href="/wjs/images/2005/07/19/20050719101837.jpg" target="_blank"><img src="/wjs/images/2005/07/19/20050719101837_thumb.jpg" border="0" alt="点击观看大图"></a>
*/echo preg_replace('|<img src="((.+)_.+(\..+))">|iU', '<a href="\\2\\3" target="_blank"><img src="\\1" border="0" alt="点击观看大图"></a>',$html);
?>
<a href="/wjs/images/2005/07/19/20050719101837.jpg" target="_blank"><img src="/wjs/images/2005/07/19/20050719101837_thumb.jpg" border="0" alt="点击观看大图"></a>
<a href="/wjs/images/2005/07/19/20050719101840.jpg" target="_blank"><img src="/wjs/images/2005/07/19/20050719101840_thumb.jpg" border="0" alt="点击观看大图"></a>
<a href="/wjs/images/2005/07/19/20050719101843.jpg" target="_blank"><img src="/wjs/images/2005/07/19/20050719101843_thumb.jpg" border="0" alt="点击观看大图"></a>

解决方案 »

  1.   

    情况汇报一下1 老大的代码是可以使用的,佩服的不行的说
    2 有一个奇怪的事情,就是对$html(根据老大上面定义来的)使用该正则后的字符串存进数据库后,居然会变回去,就是变成没有使用正则前的样子,或者是正则对该字符串不起作用,想不通为了什么,试验了30多分钟后,放弃试验(因为赶进度)
    3 最终于解决办法是,将正则前的数据存入数据库,调出来的时候,再进行正则处理.结果一样.呵...再次向老大表示感谢
      

  2.   

    $html = preg_replace(...., ..., $html);