En efecto, la función
parse_url() recupera todas las partes de una URL que
tú le pasas como parámetro. El problema ahora es... Cómo determinas la URL completa (incluyendo el ancla) de la página actual? Es decir, si yo entro a
http://www.sitio.com/pagina.php?var=algo#ubicacion, cómo determino que esa es la URL a la que entré y extraigo sus partes? Usando $_SERVER['REQUEST_URI'] (que es la variable más completa que puedas obtener en cuanto a la URL de la página a la que entras) obtienes todo menos #ubicacion, que es justamente lo que el usuario quiere.
No hay forma de obtener directamente el ancla de la página que se está ejecutando.
Saludos,