El patrón RegExp que estás usando además de horrible es redundante y nada específico.
Un patrón bien escrito sería:
Cita: |<a\s+href[^<>]*>(.+?)</a>|
En sí, tu problema es más de RegExp que de PHP o Javascript, pues RegExp es un lenguaje muy aparte con sus propias reglas y sintaxis, así que debería funcionar también.
Si quieres continuar aprendiendo acerca de RegExp no dudes en visitar el sub-foro de expresiones regulares.