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

Modules Perl Discussion :

[HTML::Parser] Problème Attributs dans une balise


Sujet :

Modules Perl

  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 99
    Par défaut [HTML::Parser] Problème Attributs dans une balise
    Bonjour à tous,

    J' ai souhaité parser un page html à l'aide du module HTML :: Parser...TOUT FONCTIONNE !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    my $parser = HTML::Parser->new(start_h => [\&start_rtn,"tag, attr"],
                    text_h => [\&text_rtn, "text"],
                    end_h => [\&end_rtn, "tag"]);
    Cependant, je rencontre des balises du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="/redirect.jsp?p=http%3A%2F%2Fgenome"  target="offsite">chr19:11058965</a>
    On y trouve 2 attributs (attr) :
    href
    target
    Je ne connais pas la synthaxe pour parser 2 attributs dans une balise. Je ne sais le faire ou il y a qu'un seul attribut (href par exemple)

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ($tag =~ /^a$/ and defined $attr->{href} and $attr->{href} =~ /^\/views\/reports\/loadVariantReport.action?/){	
    	$flag = 3;
    	}
    Pouvez vous m'aider (Récupérer le texte entre 2 balises, ou je trouve 2 attributs (href et target))
    Merci

  2. #2
    Membre chevronné Avatar de iblis
    Inscrit en
    Janvier 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 58

    Informations forums :
    Inscription : Janvier 2007
    Messages : 510
    Par défaut
    Ben, rajoute juste la condition dans ton test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ... and defined $attr->{target} and $attr->{target} =~ /^offsite$/

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 99
    Par défaut
    Merci pour cette rapide réponse,

    malheureusement rien se n'affiche dans la console !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if ($tag =~ /^a$/ and (defined $attr->{href}  and $attr->{href} =~ /^\/redirect.jsp?p=http%3A%2F%2Fgenome.ucsc.edu%2Fcgi-bin%2FhgTracks
    	3Fposition%3Dchr19%3A11058915-11059015$/) and (defined $attr->{target} and $attr->{target} =~ /^offsite$/)){	
    		$flag = 3;
    	}
    Si vous aviez d'autres solutions MERCI

  4. #4
    Membre chevronné Avatar de iblis
    Inscrit en
    Janvier 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 58

    Informations forums :
    Inscription : Janvier 2007
    Messages : 510
    Par défaut
    Alors c'est que le problème est ailleurs dans ton code (ou dans le html).

  5. #5
    Membre chevronné Avatar de iblis
    Inscrit en
    Janvier 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 58

    Informations forums :
    Inscription : Janvier 2007
    Messages : 510
    Par défaut
    Si tu veux détecter la balise de l'exemple que tu donnes plus haut (mais encore une fois je ne sais pas ce que fais le reste de ton code, ni ce qu'il y a chercher et à trouver dans ton html), tu devrais avoir quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if ($tag =~ /^a$/ 
        and defined $attr->{href}  
        and $attr->{href} =~ /^\/redirect\.jsp\?p=http%3A%2F%2Fgenome/ 
        and defined $attr->{target} 
        and $attr->{target} =~ /^offsite$/
    ) {    
        # ...
    }
    Pense à échapper au moins tes ? (le . est moins grave)

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

Discussions similaires

  1. [RegEx] fonction d'ajout d'attribut dans une balise html
    Par the magic developer dans le forum Langage
    Réponses: 4
    Dernier message: 30/10/2008, 12h48
  2. Réponses: 4
    Dernier message: 08/04/2008, 18h11
  3. [XSLT] écrire des attribut dans une balise
    Par DrDam dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 03/04/2008, 13h12
  4. [DOM] RegEx - Suppression d'attributs dans une balise
    Par jumbay dans le forum Général JavaScript
    Réponses: 17
    Dernier message: 17/10/2007, 20h40
  5. compter attributs dans une balise
    Par attavus dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 04/07/2006, 17h22

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