Con \1 o $1 le dices que la captura o subpatron número
UNO va a funcionar como el índice de tu array $matches.
Cita:
Iniciado por shirasep Es decir, en el preg_replace, tengo dos cosas, un array con las coincidencias {1},{2} y {3} y otro array con los números 1,2,3 que son los que usare en $matches.
Sólo tienes un array llamado $matches, en resumen le estás diciendo que lo que encuentre con:
{0} lo reemplace por el valor de $matches[0]
{1} lo reemplace por el valor de $matches[1]
{2} lo reemplace por el valor de $matches[2]
Igual si colocas un índice que no exista te va a dar un error como da en el uso normal de los arrays.
al evaluarlo como código PHP y eso es todo.