Muitas vezes é útil ser capaz de trocar o src=
atributo de uma tag HTML IMG sem perder nenhum dos outros atributos. Esta é uma maneira rápida e não regex de fazer isso. Ele usa a API PHP DOM para criar um pequeno documento HTML e, em seguida, salva o XML apenas para o elemento IMG.
function replace_img_src($original_img_tag, $new_src_url) {
$doc = new DOMDocument();
$doc->loadHTML($original_img_tag);
$tags = $doc->getElementsByTagName('img');
if(count($tags) > 0)
{
$tag = $tags->item(0);
$tag->setAttribute('src', $new_src_url);
return $doc->saveXML($tag);
}
return false;
}
Nota : Nas versões do PHP posteriores a 5.3.6, $doc->saveXML($tag)
pode ser alterado para $doc->saveHTML($tag)
.