Je me suis aidé du site du zéro pour arriver jusque là :
preg_replace('#![A-Z][a-z][0-9]#','_',$chaine);
ou ça
preg_replace('#[^A-Z][^a-z][^0-9]#','_',$chaine);
Si il y a bien une chose avec la quelle je ne suis pas très doué c'est bien les REGEX ABCDEFHGIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
0123456789
par : _
Je suis sûr que pour ceux qui maîtrise les REGEX ça doit leur paraître ridicule comme question...