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 :

"2007-07-06_11-39" => "2007-07-06 11:39:00"


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Space Cowboy
    Homme Profil pro
    chomeur
    Inscrit en
    Avril 2005
    Messages
    496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Avril 2005
    Messages : 496
    Par défaut "2007-07-06_11-39" => "2007-07-06 11:39:00"
    Avant je faisais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $NomDossier = ereg_replace('_',' ',$key);
    $NomDossier = ereg_replace('19-00','19:00:00',$NomDossier);
    Mais si le script qui créer ce répertoire est exécuté a un autre heures, ca ne sert à rien.

    Remplacer des chaines fixes je sais faire, avec ereg_replace, le reste est toujours la 4ème dimension.

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 698
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 698
    Par défaut
    Déjà évite d'utiliser les fonction qui commence par "ereg_". À la place les fonctions "preg_" sont beaucoup plus efficaces et rapides

    Ensuite pour remplacer un caractère par un autre tu n'as pas besoin d'expression régulière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $date = '2007-07-06_11-39';
     
    list($jour, $heure) = explode('_', $date, 2);
     
    $heure = str_replace('-', ':', $heure);
     
    $resultat = "$jour $heure:00";

  3. #3
    Membre éclairé Avatar de The Nux
    Profil pro
    Inscrit en
    Février 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 79
    Par défaut
    Je rajouterai que remplacer des chaines fixes avec ereg_replace c'est pas conseillé du tout, par ce que ereg_replace est une fonction ereg, ce qui fait que elle utilise les expressions régèlières, donc ça fait un peu uzine à gaz pour une chaine fixe, et en plus il faut utiliser preg_* à la place. Pour les chaines fixes c'est str_replace() qu'il faut faire. Utiliser une fonction qui traite des expressions régulières (comme ereg_replace) pour remplacer une chaine fixe sera une source de bugs et de temps d'execution prolongé.

  4. #4
    Membre éclairé Avatar de Space Cowboy
    Homme Profil pro
    chomeur
    Inscrit en
    Avril 2005
    Messages
    496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Avril 2005
    Messages : 496
    Par défaut
    Ok, chaine fixe != ereg

    Je l'ai toujours fait avec des ereg car ca ne prend qu'une seul ligne de code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    		list($jour, $heure) = explode('_', $key, 2);
    		$heure = str_replace('-', ':', $heure);
    		$NomDossier = $jour.' '.$heure.':00';

  5. #5
    Membre éclairé Avatar de The Nux
    Profil pro
    Inscrit en
    Février 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 79
    Par défaut
    Là c'est pas un usage "normal" de str_replace, par ce que y'a du traitement de la chaine avant, mais par exemple si tu veux remplacer tout les retours à la ligne c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    str_replace("\n", "<br />", $string);
    En fait exactement comme tu le ferai avec ereg_replace, sauf que là tu ne mets pas en route le moteur des expressions régulières

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 13/07/2009, 13h15
  2. Réponses: 33
    Dernier message: 18/12/2007, 09h49
  3. [Delphi 2007] Où sont les Démos dans Delphi 2007
    Par renepuyhaub dans le forum Delphi
    Réponses: 2
    Dernier message: 21/04/2007, 09h51

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