El \0 y cosas así .. en expresiones regulares significa que se va a sustituir esa "variable" por el bloque que se ha definido nº tal
Los bloques se definen entre () (parentesis) .. si no hay .. el \0 sería la expresión entera .. como es el caso. Pero si hubiera más ahi podrías "jugar" con el orden de los bloques via \0 \1 ..etc según orden de creación
En el manual de PHP oficial .. más o menos lo explica así (o eso es lo que entedí en su momento ..) .. Revisalo y nos cuetas xDD:
http://www.php.net/manual/es/function.ereg-replace.php
Y .. bueno, .. el ejemplo que puso Pino es el que dá como ejemplo de uso el manual de php sobre ereg_replace() .. jeje.
Un saludo,