Regexp pour extraire tous les liens et les textes d'ancrage de HTML

Je voudrais un ou plusieurs regexes qui peut:

1) Prendre le code html d'une page.

2) Trouver les url contenues dans tous les liens, par exemple:

<a href="http://example1.com">Test 1</a>
<a class="foo" id="bar" href="http://example2.com">Test 2</a>
<a onclick="foo();" id="bar" href="http://example3.com">Test 3</a>

Et ainsi de suite, il doit extraire l'url contenue dans le 'href'attribut indépendamment de ce qui vient avant ou après le href

3) Extraire le texte d'ancre de tous les liens, par exemple dans les exemples ci-dessus, il doit retourner 'http://example1.com" et le texte d'ancre "Test 1", puis "http://example2.com" et "Test 2", et ainsi de suite.

Une raison quelconque vous ne voulez pas utiliser un DOM Parser pour cela? Et une raison quelconque vous ne pouvez pas trouver le double?
double possible de php expression régulière en fonction de l'url motif
double possible de expression Régulière pour extraire l'attribut href de l'élément
j'aime la façon dont cela se fait poser un million de fois chaque jour
double possible de gratter les données de la page html php

OriginalL'auteur Click Upvote | 2011-01-07