function RepImg($text,$copyflash){        $exp1="[--copyimg--]";        $exp2="[/--copyimg--]";        $zz1="/\<(img|IMG) (.*?)(src|SRC)=('|\"|\\\\\"|)(.+?)(.jpg|.JPG|.gif|.GIF|.png|.PNG|.bmp|.BMP|.jpeg|.JPEG)(.*?)>/is";        $text=preg_replace($zz1,"<\\1 ",$text'>\\2\\3=\\4".$exp1."\\5\\6".$exp2."\\7>",$text);        return $text;}$url=RepImg('<img src="'">http://127.0.0.1/image/attachement/jpg/0023aea9dd430ebdcc4005.jpg">');echo $url;
出来的结果是:<img src="[--copyimg--]http://127.0.0.1/image/attachement/jpg[/--copyimg--]/0023aea9dd430ebdcc4005.jpg">
而我要的结果是:<img src="[--copyimg--]http://127.0.0.1/image/attachement/jpg/0023aea9dd430ebdcc4005.jpg[/--copyimg--]">
请帮忙解惑,谢谢!

解决方案 »

  1.   

    $url=RepImg('<img src="'">http://127.0.0.1/image/attachement/jpg/0023aea9dd430ebdcc4005.jpg">');
    请先检查原始参数数据
      

  2.   

    function RepImg($text,$copyflash){
            global $saveurlimgclearurl;
            $exp1="[--copyimg--]";
            $exp2="[/--copyimg--]";
            $zz1="/\<(img|IMG) (.*?)(src|SRC)=('|\"|\\\\\"|)(.+?)(.jpg|.JPG|.gif|.GIF|.png|.PNG|.bmp|.BMP|.jpeg|.JPEG)(.*?)>/is";
            $text=preg_replace($zz1,"<\\1 \\2\\3=\\4".$exp1."\\5\\6".$exp2."\\7>",$text);
            return $text;
    }
    $url=RepImg('<img src="http://127.0.0.1/image/attachement/jpg/0023aea9dd430ebdcc4005.jpg">');
    echo $url;
      

  3.   


    function RepImg($text,$copyflash=''){
            global $saveurlimgclearurl;
            $exp1="[--copyimg--]";
            $exp2="[/--copyimg--]";
            $zz1="/\<(img) (.*?)(src)=('|\"|\\\\\"|)(.+?)(\.jpg|\.gif|\.png|\.bmp|\.jpeg)(.*?)>/is";
            $text=preg_replace($zz1,"&lt;\\1 \\2\\3=\\4".$exp1."\\5\\6".$exp2."\\7&gt;",$text);
            return $text;
    }
    $url=RepImg('<img src="http://127.0.0.1/image/attachement/jpg/0023aea9dd430ebdcc4005.jpg">');
    echo $url;注意: /i 是不区别大小写,所有不需要加上大小写判定
    . 代表一个任意字符。使用 \ 将其转意. 因为你上面的   
    http://127.0.0.1/image/attachement/jpg/0023aea9dd430ebdcc4005.jpg
    中的 /jpg 符合正则中 .jpg