Voici comment faire correctement avec les extensions DOM natives
// GET file
$doc = new DOMDocument;
$doc->loadHtmlFile('http://example.com/');
// Run XPath to fetch all href attributes from a elements
$xpath = new DOMXPath($doc);
$links = $xpath->query('//a/@href');
// collect href attribute values from all DomAttr in array
$urls = array();
foreach($links as $link) {
$urls[] = $link->value;
}
print_r($urls);
Notez que ce qui précède trouvera également des liens relatifs. Si vous ne voulez pas les régler le XPath pour
'//a/@href[starts-with(., "http")]'
Notez que l'utilisation Regex pour correspondre HTML est la route de la folie. Regex fait correspondre les modèles de chaîne et ne connaît rien aux éléments et attributs HTML. DOM le fait, c'est pourquoi vous devriez le préférer à Regex pour chaque situation qui va au-delà de la correspondance d'un modèle de chaîne supertrivial de Markup.
Quelle est votre question? – user187291
Ils ... juste ... jamais ... arrête. Tony le poney .. il vient .... http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 –