ora sembra che vada ma una volta raccolti dentro $url con
codice:
preg_match_all("|https?://(www\.)?.+|i",$buf,$url);
stampo con un while() i vari url pescati così:

$url_pescato = $url[1][$i++];
ma come risultati trovo:

www.
www.
www.
www.
www.