Если надо только "выдернуть" ссылку то имхо этот паттерн сойдет:
<a.+?href="(.*?)".*?>
в backreference будет ссылка.
Если надо менять ссылки то тогда сойдет вот этот скрипт:

Код:
$result = preg_replace('/<a(.+?)href="(.*?)"(.*?)>/', '<a\\1href="some text to replace"\\3>', $subject);
//тоисть тут паттерн будет: <a(.+?)href="(.*?)"(.*?)>
Если новичок в Regex–e советую посетить
http://www.regexbuddy.com/
Regexbuddy мне очень помогает в работе, просто великолепная прога.