Non riesco a far funzionare file_get_contents con preg_replace

// funziona se il contenuto del file č in una variabile!!
Codice PHP:
error_reporting(E_ALL);
$contenuto '<icona1>[url]http://www.domain.ext/images/today/icons/ico1.png[/url]</icona1>
<icona2>[url]http://www.domain.ext/images/today/icons/ico2.png[/url]</icona2>
<icona3>[url]http://www.domain.ext/images/today/icons/ico3.png[/url]</icona3>'
;

$contenuto preg_replace('/\>http(.+?)\/icons\/ico(.+?).png\</is',">$2<",$contenuto);

echo 
$contenuto
// non funziona se il contenuto del file viene prelevato con la funziona file_get_contents!!
Codice PHP:
$contenuto file_get_contents("file.ext"); // file con lo stesso contenuto della variabile $contenuto nel primo esempio

$contenuto preg_replace('/>http(.+?)\/icons\/ico(.+?).png\</','>$2<',$contenuto);
//echo $contenuto; exit;
$fp fopen ("file.ext""w");
fwrite ($fp$contenuto);
fclose ($fp); 
Qualche consiglio ?