preg_match_all("!<a.*?href=\"?'?([^ \"'>]+)\"?'?.*?>(.*?)</a>!is",$content,$url);
А как указать регулярному выражению что между href и = могут быть пробелы? preg_match_all("!<a.*?href([_]*)?=\"?'?([^ \"'>]+)\"?'?.*?>(.*?)</a>!is",$content,$url); Такой вариант не работает :(