Page 1 sur 1

Problème d'utilisation de la fonction preg_replace (ou ereg_

Posté : 06 juil. 2009, 10:18
par Pierreuh
Bonjour,

j'essaie en vain d'utiliser l'un de ces deux fonctions : preg_replace et ereg_replace afin d'éditer à la voler un ensemble de fichiers présents sur mon disque.

le but est de remplacer toutes les occurences de lien vers des pages où les liens sont en Majuscules de temps à autre, par des liens en minuscule.

ex : "/FW/TesT.php" >> "/FW/test.php"
"../FW/PAGE.php" >> "../FW/page.php"
et caetera...

En passant tout le code de lecture du fichier jusqu'à l'endroit qui m'intéresse :

j'ai une variable : $ligne, qui contient une ligne complète du fichier.

un test avec la fonction "ereg" fonctionne bien :


 if (ereg("[^/\"'.][a-zA-Z0-9_]*\.php",$ligne,$t))

ici, j'aurai bien dans $t[0] une ligne qui est à modifier.

l'expression régulière que j'ai faite me retourne : "PAGE.php" par exemple dans $t[0]

par contre, si j'utilise la même expression régulière dans un ereg_replace ou un preg_replace, aucune occurence n'est modifiée ?
 ereg_replace"[^/\"'.][a-zA-Z0-9_]*\.php",'strtolower(\0)',$ligne); 

quelqu'un saurait-il comment écrire correctement mon expression régulière afin qu'elle soit bien intérprétée par la fonction preg_replace ?
J'ai essayé de protéger les guillemets, les quotes.. mais rien n'y fait, que ce soit ereg ou preg replace, mon expression n'est jamais matchée.


En vous remerciant de l'attention portée à ce post, n'hésitez pas à demander des précisions s'il en manque.

Merci !

Posté : 06 juil. 2009, 23:17
par dunbar
Salut
ereg_replace"[^/\"'.][a-zA-Z0-9_]*\.php",'strtolower(\0)',$ligne); 
Là déjà il manque une parenthèse. :wink: