PHP : réécrire une fonction

Hello,

Voici mon problème : j’hérite du développement d’une vieille application assez crado niveau code, et mon prédécesseur ne semblait pas vraiment à l’aise avec les histoires d’encodages… Disons que lorsqu’il éditait du code depuis windows, qu’il uploadait sur un serveur dont l’encodage était en utf-8, il semblait un peu perdu et la seule solution qu’il trouvait était, non pas de convertir proprement son fichier, mais de faire appel à la fonction utf8_decode pour pouvoir afficher proprement ses caractères spéciaux en ISO-8859-1.

Ce qui me donne un peu partout des appels du type :

$DESCRIPTION=utf8_decode(POST_REQUEST("DESCRIPTION",""));

$T[0]=utf8_decode("Toutes les régions");

etc…

Etant en préparation d’un serveur tout propre et préparant justement la migration de l’appli sur ce serveur, je dois me débarrer de l’usage de utf8_decode dans tout mon code PHP, puisqu’en l’état, l’appel de cette fonction fiche en l’air l’affichage des caractères spéciaux…

Et c’est là que je suis moins à l’aise.

J’ai pensé à deux solutions :

  1. Faire croire à PHP que utf8_decode est une fonction à moi, réécrire cette fonction quelquepart pour lui dire qu’à chaque fois qu’elle est appelé, elle fait juste un echo ou un print de ce qu’on lui donne à becter sans traitement supplémentaire.

  2. Une belle regex dans tout mon code pour transformer :

utf8_decode(contenu) en contenu

Mais là j’aurais besoin d’aide pour le sed, car dans ce sens je ne vois pas du tout comment faire…

J’ai essayé des variantes de ça, mais sans succès :

sed --sandbox s/utf8_decode\(.*\)/.*/g monfichier.php

Quelqu’un aurait une idée ?

Un truc dans le genre :

sed --sandbox -r 's/utf8_decode\((.*)\)/\1/g' monfichier.php

Oui, quasiment, en fait c’est ça que je cherchais :

echo '$T[2]=utf8_decode(POST_REQUEST("VILLE",""));' | sed -r 's#utf8_decode\((.*?)\)#\1#g'

Merci !