Hai provato a dare un'occhiata al manuale ?

Sembrerebbe di no, perchè la sintassi che usi nella preg_replace() è errata e dovrebbe anche darti un errore.

Fra l'altro, una volta sistemata la sintassi, puoi evitare di scorrere il ciclo e dare in pasto alla funzione direttamente l'array (anche questo è puntualmente riportato nel manuale)