Et oui encore un nième problème d'expression régulière. Je vous expose mon problème et le contexte dans lequel je souhaite le mettre en oeuvre, j'espère d'une part que vous pourrez m'éclairer sur ce qui cloche mais aussi avoir votre avis sur la méthode que j'utilise pour arriver à mes fins. J'ai eu beau écumer les forums je n'ai pas trouvé plus simple, ce qui m'étonne pas mal.
Je souhaite mettre au point un formulaire qui chargera les valeurs de mes variables contenu dans le fichiers variables.inc.php dont voici un exemple :
Code : Tout sélectionner
$Gconf['sql']['base']='mabase';//1
$Gconf['sql']['host']='adr.serveur.sql';//2
$Gconf['sql']['login']='monlogin';//3
$Gconf['sql']['pass']='monpass';//4
<?php
// Lecture du fichier d'aministration
$fichier = "variables.inc.php";
if (file_exists($fichier)) {
if ($tableau = file($fichier)) {
while(list(,$val)=each($tableau)){
// ligne de commentaire
if (substr($val, 0, 2)!=="<?"){
if (substr($val, 0, 2)=="//"){
echo $val, '<br />';
}
else{
// Ligne de variable
// Echappement de tout les caractères spéciaux ^ . [ ] $ ( ) * + ? | { } \
if(ereg('([0-9A-Za-z \[\]\"\'\.\$_@]*)=\'?([0-9a-zA-Z.]*)\'?;//([0-9a-zA-Z. \'\"]*)', $val, $regs ) ) {
echo "<b>", $regs[1], " ", $regs[2], " ", $regs[3], '</b><br />';
}else{
echo "Chaine non reconnue.", '<br />';
}
}
}
}
}
else {echo "Erreur, le fichier n'a pas pu être ouvert.";}
}
else {echo "Fichier introuvable !";}
?>
Mon souci c'est que mon ereg ne me retrouve pas la première partie de la chaine :
Code : Tout sélectionner
$Gconf['sql']['base']Dans un second temps si vous connaissez un façon plus simple de faire ce que je veux à savoir charger modifier enregistrer des variables globales pour le site, je suis également preneur !
Merci d'avance pour votre aide.
Stéphane