对正则一点不会。有这样的字符串:<p><img height="32" alt="" src="/TestDemo/Tpl/default/Public/Files/2010_09_04/1283591048.jpg" width="32" border="0" />来留言看看这的风景好吗,<img height="32" alt="" src="/TestDemo/Tpl/default/Public/Files/2010_09_04/1283594512.jpg"width="32" border="0" />原来这的风景不错 不催哦。。 <img alt="" src="/TestDemo/Public/kindeditor/plugins/emoticons/13.gif" border="0" /></p>
字符串中:
有(1)图片路径:/TestDemo/Tpl/default/Public/Files/2010_09_04/1283591048.jpg
有(2)图片路径:/TestDemo/Tpl/default/Public/Files/2010_09_04/1283594512.jpg
(1)(2) 是匹配的路径!
有(3)图片路劲:/TestDemo/Public/kindeditor/plugins/emoticons/13.gif
另有(4)路径:/TestDemo/Tpl/default/File/Uploads/2010_9_6/1283591048.jpg
正则匹配(1)路径替换成(4)路径并输出替换后的字符串  (3)路径不在匹配范围内。

解决方案 »

  1.   

    如果楼主只需要修改下路径,参考以下的代码试试。<?php
    $a = <<<HTML
    <p><img height="32" alt="" src="/TestDemo/Tpl/default/Public/Files/2010_09_04/1283591048.jpg" width="32" border="0" />来留言看看这的风景好吗,<img height="32" alt="" src="/TestDemo/Tpl/default/Public/Files/2010_09_04/1283594512.jpg"width="32" border="0" />原来这的风景不错 不催哦。。 <img alt="" src="/TestDemo/Public/kindeditor/plugins/emoticons/13.gif" border="0" /></p>
    HTML;
    $b = preg_replace('/\/TestDemo\/Tpl\/default\/Public\/Files/','/TestDemo/Tpl/default/File/Uploads',$a);
    echo $b;
    ?>
      

  2.   

    '/(<img[^>]+src\s*=\s*”?([^>"\s]+)”?[^>]*>)/im'