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 :

utilisation de Ereg_Replace [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 50
    Par défaut utilisation de Ereg_Replace
    Bonjour à vous ,

    Je bloque actuellement sur la conception d'une simple fonction dans mon codage.


    J'explique le but de la fonction :

    Fonction "Imager"
    Fonction appeler avec une string de contenu. Elle recherche et remplace les lignes suivants :
    {Image_ID=XXXXXX} et {Galery_ID=XXXXXX}

    Son but est de trouver ces lignes (plusieurs peuvent exister dans la meme string), de récupéré l'ID pour faire un appel MySQL sur l'ID et pouvoir l'afficher à la place des lignes.


    Pour le moment, j'essaye de faire simple : Rechercher les lignes, et n'afficher que l'ID (ne rien remplacer).

    ce qui donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function Imager($string) {
    $pattern = "{Image_ID=(.*)}";
    $replacement = "\\1";
    $string = ereg_replace($pattern, $replacement, $string);
    return $string;
    }
    Hélas, rien ne va comme il faut. J'ai beau essayer avec preg_replace aussi avec du preg, mais pas moyen d'afficher uniquement la valeur.

    Comment faire pour résoudre, ce problème ainsi que le problème de la fonction en elle même (pour récupéré l'ID, faire un appel sql et afficher le contenue à la place de la ligne).

    Merci de votre lecture !

    [Edit] Pour plus de compréhension sur la fonction c'est une genre de "BBCODE" avec un contenu SQL :p

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ta fonction telle que tu nous la montres fonctionne.
    Quel problème rencontres-tu avec ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 50
    Par défaut Fonction
    La recherche ne s'arrete pas en faite, elle se clos pas à la fermeture de l'accolade :

    Sur une donnée string :
    {Image_ID=1} {Image_ID=galerie/Paula_12439519515997.jpg}

    sa donne :
    1} {Image_ID=galerie/Paula_12439519515997.jpg



    Et une fois ce problème meme si il est réglé, je ne vois pas comment gardé l'id en mémoire et afficher un résultat SQL avec l'id :S

    Merci de ta réponse
    Edit : Et de ton switch

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    C'est parce que ton expression est gloutonne.

    En Preg ca donne ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function Imager($string) {
    $pattern = "#{Image_ID=(.*?)}#";
    $replacement = "\\1";
    $string = preg_replace($pattern, $replacement, $string);
    return $string;
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 50
    Par défaut
    Merci !!

    Et pour le soucis du MySQL, comment réglé sa ?

    PS: Pour l'explication, le # fait quoi dans le preg?

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    le premier et le dernier caracteres sont les delimiteurs, on peut utiliser n'importe quoi.

    Pour ton problème SQL il faudrait commencer par nous en parler.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. [RegEx] Comment utiliser ereg_replace()
    Par benthebest dans le forum Langage
    Réponses: 6
    Dernier message: 23/01/2008, 23h15
  2. [RegEx] Utilisation de ereg_replace
    Par nicerico dans le forum Langage
    Réponses: 3
    Dernier message: 30/08/2007, 15h03
  3. [RegEx] utilisation de ereg_replace
    Par TheRedLed dans le forum Langage
    Réponses: 6
    Dernier message: 03/10/2006, 11h28
  4. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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