¿Lo que va dentro de comillas podría también contener comillas?
Creo que necesitas mas bien usar preg_match_all() y ajustar mejor tu expresión, cosa que nada tiene que ver con PHP, ya que RegExp es otro lenguaje.
A ver si mueven tu tema al foro correcto.