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 :

regex : problème de motif [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 7
    Par défaut regex : problème de motif
    Bonjour,
    Cela fait deux jours que je recherche le motif qui va bien mais il y a quelques choses que je ne dois pas comprendre...

    Au départ j'ai une chaine type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    j'ai du texte<img style="width:140px" src="../../image.jpg" alt="commentaire">du texte ou pas selon<img style="width:140px" src="../../autre_image.jpg" alt="autre_commentaire">
    et je voudrais extraire les balises img pour leur ajouter un lien pour ouvrir les images directement en popup dynamiquement.

    Mais le soucis c'est qu'il me prend de <img jusqu'u dernier >...

    Je me permets de vous exposer mon code enfin une des innombrables versions...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	 $chaine2 = '45445454<img style="width: 226px; height: 294px;" src="/serveur/ccnt/xmedia/accueil.jpg" alt="tutu a un chapeau pointu">gfdgdfg<img style="width: 226px; height: 294px;" src="/serveur/ccnt/xmedia/accueil.jpg" alt="tutu a un chapeau pointu">fghfdh fdh';
     
    eregi('<img([a-zA-Z[:space:][:punct:][:digit:]]{1,})">', $chaine2,$out);
    echo "resultat : ".$out[0];
    Merci de votre aide

    arno

  2. #2
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut

    tu as essayé de réaliser ce que tu veuix avec str_replace ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 7
    Par défaut
    Citation Envoyé par trotters213

    tu as essayé de réaliser ce que tu veuix avec str_replace ?
    Bonsoir,

    Str_replace ne correspond pas à mon besoin car mes chaines de carctères à analyser ne sont jamais les même.

    En fait je dois récupérer toutes les balises <img> des pages, récupérer leur 'source' et leur 'alt' et rajouter un javascript pour faire un pop-up.

    Ca marche presque si ce n'est ce motif d'expression régulière que je n'arrive pas à affiner...

    MErci
    ARno

  4. #4
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut
    et bien tu n'as qu'à tiliser strpos() qui te permet de chercher la première occurence d'une chaine dans une autre chaine : http://www.expreg.com/equivalence.php

  5. #5
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Par défaut
    regarde les tutoriaux sur les expressions regulieres

    je te conseille d'utiliser preg plutot que ereg, c'est plus performant et tu peux faire plus de choses. Notemment spécifier des modificateurs globaux a ton masque, comme U qui correspond je crois a ce que tu cherches. A appliquer comme ca : "#masque#U" (le caractere # peut etre remplacé par ce que tu veux, /, ou autre chose)

  6. #6
    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
    Par ailleurs le tableau multidimensionnel (bi) accueillant le résultat ($out) me semble mal utilisé. Pour voir ce que vous otebenez utiliser la fonction print_r (cf FAQ).


    Julp.

  7. #7
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Par défaut
    je dois ecrire trop petit...

    Citation Envoyé par Fladnag
    regarde les tutoriaux sur les expressions regulieres

    je te conseille d'utiliser preg plutot que ereg, c'est plus performant et tu peux faire plus de choses. Notemment spécifier des modificateurs globaux a ton masque, comme U qui correspond je crois a ce que tu cherches. A appliquer comme ca : "#masque#U" (le caractere # peut etre remplacé par ce que tu veux, /, ou autre chose)

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

Discussions similaires

  1. [Regex posix] Problème de motifs
    Par Yoshio dans le forum POSIX
    Réponses: 1
    Dernier message: 29/03/2008, 17h17
  2. REGEX problème avec les "
    Par storm_2000 dans le forum Collection et Stream
    Réponses: 9
    Dernier message: 30/11/2006, 18h32
  3. Réponses: 12
    Dernier message: 04/09/2006, 17h59
  4. [Regex] Problème de match...
    Par Hoegaarden dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 14/02/2006, 16h25
  5. [Regex]Répurer plusieurs motifs
    Par gege2061 dans le forum Langage
    Réponses: 2
    Dernier message: 25/10/2005, 15h56

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