Comment faire des remplacements dans des fichiers (sed + regex)
Bonjour,
Je cherche à remplacer les occurrences suivantes:
Code:
1 2 3 4
| $_POST[toto]
$_REQUEST[tata]
$_SESSION[tutu]
$tab[truc] |
par
Code:
1 2 3 4
| $_POST['toto']
$_REQUEST['tata']
$_SESSION['tutu']
$tab['truc'] |
sur tous les fichiers PHP contenus dans un dossier en ligne de commande.
Je migre de PHP 5.2 à 5.4 et forcément les variables tableaux sans quotes ç a ne passe pas... J'ai plus de 30000 variables à corriger et à la main c'est chaud...
La piste que j'ai trouvé pour l'instant est d'utiliser une commande du style:
Code:
find . -name "*.php" -print | xargs sed -i.old -r "s/\$_(?:[a-zA-Z])*\[(?:[a-zA-Z])*\]/\$_(?:[a-zA-Z])*\['(?:[a-zA-Z])*'\]/g"
ça dervrait remplacer les variables globales $_TRUC[string] par $_TRUC['string'] mais ça ne marche pas.
Est ce que quelqu'un peut m'aider ?
Merci.