Вы можете использовать это регулярное выражение:
((?=<a.+href).*(?<=</a>))[^</a]
Для глобального поиска необходимо добавить флаг «г» и для отключения учета регистра флага «я»
Что касается PHP:
$html = '<a href="blah blah" anyAttribute="" anyThingElse="anyValue">The defined text</a>
<a href="blah blah" anyAttribute="" anyThingElse="anyValue">The defined text</a>
<a href="blah blah" anyAttribute="" anyThingElse="anyValue">The defined text</a>
<a href="blah blah" anyAttribute="" anyThingElse="anyValue">The defined text</a>
<a HREF="blah blah" anyAttribute="" anyThingElse="anyValue">The defined text</a>
<a anyAttribute="" anyThingElse="anyValue" href="blah blah">The defined text</a>';
preg_match('/((?=<a.+href).*(?<=</a>))[^</a]/gi', $html, $matches);
var_dump($matches);
Это решение для получения всех ссылок с атрибутом href, даже если несколько «а» помещены в одну строку. Пример:
<a HREF="blah blah" anyAttribute="" anyThingElse="anyValue">The defined text</a><a>asdasd</a>
вы хотите HREF = "бла-бла" или только «бла бла "? –