Observando el resultado que te da, creo que coge la última doble comilla que encuentra para delimitar la búsqueda. Se me ocurre que podrías acotar los caracteres a aceptar en vez de poner (.*). Por ejemplo, alfanumericos más puntos, guiones, etc. Los caracteres aceptados en las url, vamos.
Otra opción que se me ocurre es cambiar el patrón a:
Código PHP:
$pal ="(<a href=\"(.*)\">)";
Un saludo