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 Perl Discussion :

[langage]Retirer le contenu d'un tag


Sujet :

Langage Perl

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 10
    Points : 9
    Points
    9
    Par défaut [langage]Retirer le contenu d'un tag
    Salut
    j'aimerais en réalité retirer le contenu d'un tag dans le genre
    <tag url="$contenu">

    J'ai codé ceci mais ça ne fonctionne pas:
    if ( $tag =~ m/<tag url="(.*)">/ ) {
    my $url = $1;
    }
    où est l'erreur?

    Merci pour votre aide!

  2. #2
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 852
    Points : 4 759
    Points
    4 759
    Par défaut
    Salut

    Il faut voir du côté des substitutions notammnet dans la FAQ.
    Je ferais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ( $tag =~ m/<tag url="(.*)">/ ) { 
    $tag =~ s/<tag url="(.*)">//;
    }
    Attention, solution non testé.

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code ni le tag

    Je ne répond à aucune question technique par MP.

  3. #3
    Membre actif
    Inscrit en
    Février 2005
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 167
    Points : 203
    Points
    203
    Par défaut
    Citation Envoyé par GLDavid
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ( $tag =~ m/<tag url="(.*)">/ ) { 
    $tag =~ s/<tag url="(.*)">//;
    }
    Attention, solution non testé.
    Ca m'a l'air correct au niveau syntax, mais pourquoi faire un test de voir si on peux la substitution ? Autant tenter la substitution toute de suite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if($tag =~ s/<tag url="(.*)">//;) {
        print "on a vire le tag [$]\n";
    }
    Il ne faut pas oublier que s/// renvoie le nombre de substitutions operees, donc ca marche tres bien dans un if.

    N

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 10
    Points : 9
    Points
    9
    Par défaut
    Salut
    merci pour votre aide mais malheureusement ça ne fonctionne pas :/
    En fait, je commence avec une variable $event qui contient un texte qui lui même contient ou non le tag en question.
    Donc, pour que cela fonctionne bien il faudrait commencer par rechercher si le tag existe ou non dans $event puis de retirer le contenu url du tag.

    J'ai lu la Faq mais jdois avouer que j'y comprend pas grand chose :-)

  5. #5
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 852
    Points : 4 759
    Points
    4 759
    Par défaut
    Salut

    Peux-tu nous poster ton code s'il te plait ?

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code ni le tag

    Je ne répond à aucune question technique par MP.

  6. #6
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    , regex ou module cpan

  7. #7
    vic
    vic est déconnecté
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2002
    Messages
    431
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 431
    Points : 498
    Points
    498
    Par défaut
    J'apporterais une petite correction a la regexp : La solution fournie plus haut va probablement matcher plus grand que voulu.

Discussions similaires

  1. Récuperer les info contenu dans les tags mp3
    Par Salsaboy60 dans le forum IHM
    Réponses: 2
    Dernier message: 07/04/2009, 01h58
  2. [JDOM] Récuperer tout le contenu d'un tag
    Par laminoo dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 18/03/2009, 17h48
  3. Réponses: 7
    Dernier message: 23/03/2007, 18h49
  4. Réponses: 10
    Dernier message: 24/05/2005, 16h00
  5. [langage] Retirer le premier caractère d'une chaine ?
    Par kwisach dans le forum Langage
    Réponses: 5
    Dernier message: 24/04/2003, 11h05

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