pedroz
1
$a = 'asdasdasd as asdasdas <img src="http://www.domain1.com/1.gif"> sdfsdf <img src="http://www.domain2.com/1.gif"> <img src="http://www.domain3.com/1.gif">';
$pattern = '(<img[^>]+domain1.com[^>]+>)';
$a = preg_replace($pattern, '', $a);
How can I keep only img tags from domain1.com?
Any idea for an inverse like
$pattern = ‘!(<img[^>]+domain1.com[^>]+>)’;
<?php
function domain_filter($match, $domain = 'domain1.com'){
if(stristr($match[0], $domain)){
return $match[0];
}
}
$filtered = preg_replace_callback(
'~<img[^>]+>~',
'domain_filter',
'asdasdasd as asdasdas <img src="http://www.domain1.com/1.gif"> sdfsdf <img src="http://www.domain2.com/1.gif"> <img src="http://www.domain3.com/1.gif">'
);
echo $filtered;
/*
asdasdasd as asdasdas <img src="http://www.domain1.com/1.gif"> sdfsdf
*/