Prueba esto:
Código PHP:
$texto = '<a href="http://www.forosdelweb.com/f18/">Texto</a>';
preg_match_all('/<a[[\s]*.*]?\shref="(([a-z]*:[\/]*)?([^\/]*)([\/]+[^\"]*)?)"[^>]*>[^<]*<\/a>/i', $texto, $res);
Ahora, $res es un array que contiene:
No sé si sea lo más óptimo, pero es lo que se me ocurrió
Saludos.