Parser ce fichier de config
Posté : 27 oct. 2010, 17:24
Bonjour
J'ai du mal à faire ce que je veux, à savoir parser ce fichier de config:
La difficulté n'est pas de mettre ça sous al forme de tableau mais de parser le fichier, je connais les fonctions de manipulation de string (substr etc) mais je les maitrise mal... en fait mettons que je recupère l'ensemble du contenu sous la forme d'un string, il faudrait, pour dire ça en langage non php, qu'a chaque fois qu'on croise "$config", on prenne tout ce qu'il y a jusqu'au prochain point-virgule. Et que dans chaque élément récupéré, on prenne ce qu'il y a dans le deuxième entre-crochet, puis ce qu'il y a entre le "=" et le point virgul.
Si quelqu'un pouvait m'aider
J'ai du mal à faire ce que je veux, à savoir parser ce fichier de config:
<?php
//flag de debug
$config['TrucService']['logEnable'] = true;
// fichier de log du plugin truc
$config['TrucService']['logFilename'] = 'log_module_truc';
// Délai avant suppression des trucs non récupérés
$config['TrucService']['deleteDelay'] = (3600 * 24) * 7;
// service_id du service truc
$config['TrucService']['serviceId'] = 88;
// emplacement des fichiers xmls des trucs
$config['TrucService']['trucServiceOut'] = ROOT_PATH.'/app/tmp/plugins/truc/output/';
?>
En fait pour chaque ligne de config (sans celles en commentaire bien sur), je dois récupérer la variable de config et sa valeur, par exemple pour les trois premières ça fait logenable=>true, logFilename=>log_module_truc, deleteDelay=>(3600 * 24) * 7 etc...La difficulté n'est pas de mettre ça sous al forme de tableau mais de parser le fichier, je connais les fonctions de manipulation de string (substr etc) mais je les maitrise mal... en fait mettons que je recupère l'ensemble du contenu sous la forme d'un string, il faudrait, pour dire ça en langage non php, qu'a chaque fois qu'on croise "$config", on prenne tout ce qu'il y a jusqu'au prochain point-virgule. Et que dans chaque élément récupéré, on prenne ce qu'il y a dans le deuxième entre-crochet, puis ce qu'il y a entre le "=" et le point virgul.
Si quelqu'un pouvait m'aider