tutto questo codice lo puoi trasformare (insieme all'fsockopen) nel 90% dei casi semplicemente in
$scraped = file_get_contents("http://dominio.tld/path/to/page");

detto questo ad occhio la preg mi sembra corretta, ma fare una cosa del genere
#<a(.*?)href="([^"]+)"(.*?)class="?l.+?"?(.*?)>.*?<\/a>#is

in questo modo se sono presenti più spazi, tab o qualsiasi altro elemento tra le varie parti che compongono il tag a va bene comunque ... inoltre se il tag è spezzato su più righe viene letto lo stesso