Having multiple image scenarios, need to find a regex to find an image and replace the full tag with other tag...

$a = 'asdasdasd as asdasdas <img src="http://www.domain1.com/1.gif"> sdfsdf';
// or
$a = 'asdasdasd as asdasdas <img class="right" src=http://www.domain1.com/1.gif /> sdfsdf';
// or
$a = 'asdasdasd as asdasdas <img alt="image" src=http://www.domain1.com/1.gif> sdfsdf';
// or
$a = "asdasdasd as asdasdas <img width='10' height='10' src='http://www.domain1.com/1.gif' alt='as' /> sdfsdf";
// or
$a = preg_match('/(<img).*?src.*?(http://www.domain1.com/1.gif)/i>','<img src="http://www.domain2.com/11.gif">', $a);

var_dump($a);
// should be 'asdasdasd as asdasdas <img src="http://www.domain2.com/11.gif"> sdfsdf'

May you please improve my regex?

Thanks!

    //$a = 'asdasdasd as asdasdas <img src="http://www.domain1.com/1.gif"> sdfsdf';
    //$a = 'asdasdasd as asdasdas <img class="right" src=http://www.domain1.com/1.gif /> sdfsdf';
    //$a = 'asdasdasd as asdasdas <img alt="image" src=http://www.domain1.com/1.gif> sdfsdf';
    $a = "asdasdasd as asdasdas <img width='10' height='10' src='http://www.domain1.com/1.gif' alt='as' /> sdfsdf";
    
    $pattern = 'src=([\"\']?)http:\/\/www\.domain1\.com\/([^\"\' ]+)([\"\' ])';
    
    if (preg_match('/<img.*'.$pattern.'/i', $a, $regs)) {
            $a = preg_replace("/".$pattern."/i","src=".$regs[1]."http://www.domain2.com/".$regs[2].$regs[3],$a);
    }
    
      Write a Reply...