Conversion de scripts PHP utilisant les « short-tags »

Si vous avez gardé de mauvaises habitudes ou que vous avez récupéré de vieux scripts PHP qui utilisaient encore les balises courtes ou « short-tags » (<? ?> au lieu de <?php ?>) qui sont désactivées par défaut dans les versions actuelles de PHP, vous pouvez utiliser le script suivant (shorttags.sh) au lieu de corriger tous les fichiers manuellement :

#!/bin/sh
find "$@" -name "*.php" -exec perl -i -wpe 's/<\?=/<?php echo /g' {} \; \
-exec perl -i -wpe 's/<\?(?!php|xml)/<?php /g' {} \;

Une fois le script récupéré, rendez-le exécutable :

chmod +x shorttags.sh

Puis utilisez-le comme cela (après avoir éventuellement fait une sauvegarde de vos précieux scripts) :

./shorttags.sh /chemin/vers/vos/fichiers/php/

Notez que vous pouvez indiquer plusieurs répertoires à la suite les uns des autres.

N’hésitez pas à me faire part de vos améliorations !

Mise à jour 24 juin 2009 : Merci à John Lenton pour son commentaire, j’ai mis à jour le script.