Il replace è complicato, ci sono ricorrenze ma anche eccezioni.
Il replace di JS non fà al caso mio, mentre quello di PHP con le dovute regole per le eccezioni (si sa che le eccezioni confermano la regola) mi soddisfa.Per esempio, se io voglio sostituire S con Ç lo posso fare e contemporaneamente dire a PHP però se mi cambi S con Ç fallo ad eccezione del dittongo che si può formare ÇT, quello no lascialo ST.