pedroz
1
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!
I’ve used these before - see if you can combine them:
$img_tag_pattern = "#\\<img[^\\>]+\\>#i";
$img_src_pattern = "#(= src=['\\"]?.+[^\\"]?)?src=[\\"']?([^\\"']+)#i";
pedroz
3
Something like
$a = preg_replace('|<img ([^>]*)src="?http://www.domain1.com/1.gif"? ([^>]*)>|i','<img src="http://www.domain2.com/11.gif">', $a);
but still not working… 
$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'
pedroz
4
By other words
What I need is find the img tag with the src=http://www.domain1.com/1.gif (this tag can have many alternatives) and replace <img> tag with the following:
<img src=“http://www.domain2.com/11.gif”>
Many thanks