IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Suppression de la fonction ereg() [PHP 5.3]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 248
    Par défaut Suppression de la fonction ereg()
    Bonjour,

    Mon serveur en production est récemment passé en PHP 5.3.

    Je me retrouve avec un soucis pour la fonctio ereg() qui est desormais "deprecated". J'utilisais le code suivant dans un script qui fonctionnait très bien pour générer un fichier de configuration.

    Le problème est que je n'arrive pas à modifier le code pour supprimer ereg avec la fonction preg_replace...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    foreach($_POST as $key=>$val) {
    				// passer certaines entrees de formulaire (prefixees par 'f_')
    				if(ereg("f_",$key)) continue;
    				// traitement des constantes (en majuscule)
    				elseif(ereg("DB",$key)) fwrite($fichier, "define(\"$key\", \"$val\");\n");
    				// traitement des variables numériques ou booléennes en valeur
    				elseif(is_numeric($val)) fwrite($fichier, "define('$key','".ereg_replace("(\n|\r|\r\n)", " ", trim($val))."');\n");
    				// sinon entre guillemets
    				elseif(!empty($val)) fwrite($fichier, "define('$key','".ereg_replace("(\n|\r|\r\n)", " ", trim($val))."');\n");
    			}
    Merci par avance de me donner au moins une piste...

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    ereg est à remplacer par preg_match mais y a-t-il vraiment besoin d'expressions régulières ici quand on peut se contenter de fonctions comme strpos ? Et pour ereg_replace => preg_replace.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    foreach($_POST as $key=>$val) {
    				#if(preg_match('~^f_~',$key)) continue;
    				if(strpos($key, 'f_', $key) === 0) continue;
    				#elseif(preg_match('~DB~',$key)) fwrite($fichier, "define(\"$key\", \"$val\");\n");
    				elseif(strpos($key,'DB') !== FALSE) fwrite($fichier, "define(\"$key\", \"$val\");\n");
    				elseif(is_numeric($val)) fwrite($fichier, "define('$key','".preg_replace('~(\n|\r|\r\n)~', " ", trim($val))."');\n");
    				elseif(!empty($val)) fwrite($fichier, "define('$key','".preg_replace('~(\n|\r|\r\n)~', " ", trim($val))."');\n");
    			}

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 248
    Par défaut
    Après mûre réflexion, j'ai carrement simplifier le code...

    C'est un bout de script que j'avais récupéré et finalement le code suivant me convient parfaitement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach($_POST as $key=>$val) {
         $val = trim($val) ;
         fwrite($fichier, "define(\"$key\", \"$val\");\n");
    }
    Je note néanmoins tes remarques et malgré tout, merci beaucoup pour ta correction du code !!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. suppression fichier en fonction d'une date
    Par kalyparker dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 02/07/2007, 15h19
  2. Réponses: 2
    Dernier message: 13/06/2007, 12h03
  3. [RegEx] Syntaxe fonction ereg()
    Par alain31tl dans le forum Langage
    Réponses: 20
    Dernier message: 26/09/2006, 02h44
  4. Fonction ereg() Aide
    Par unclebob dans le forum Langage
    Réponses: 1
    Dernier message: 17/08/2006, 22h24
  5. fonction ereg
    Par dubitoph dans le forum Langage
    Réponses: 2
    Dernier message: 21/03/2006, 20h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo