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

JavaScript Discussion :

[RegExp] string.match() difficile


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 7
    Points : 7
    Points
    7
    Par défaut [RegExp] string.match() difficile
    bonjour,

    je fais appel à une page via XmlHttpRequest et je veux analyser la page résultat

    donc les RegExp me semblent adaptées vu la complexité du texte à analyser.

    donc voici un bout de code HTML qui se répète et que je veux analyser:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <tr><td><a href="javascript:;" onclick="return profil(event,'roxymelo');">Roxymelo</a></td>
    			<td nowrap>0 dollars</td>
    			<td><a href='/jeu/defi.php?id_defi=3411173&id_adv=115763'>Voir le défi</a></td>
    			</tr>
    et voici la RegExp que j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /\<tr\>\<td\>\<a href\="javascript\:;" onclick\="return profil\(event,'.+'\);"\>(.+)\<\/a\>\<\/td\>\s*\<td nowrap\>([0-9]+) dollars\<\/td\>\s*\<td\>\<a href\='\/jeu\/defi\.php\?id_defi\=([0-9]+)&id_adv\=([0-9]+)'\>Voir le défi\<\/a\>\<\/td\>\s*\<\/tr\>/g
    il ne me semble pas m'être trompé et je en comprend pas que les ligne du tableau ne soient pas trouvées...

    donc si quelqu'un a une idée je suis preneur parce que là ça commence à m'énerver

  2. #2
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Salut, excuse-moi, mais tu ne nous dis pas le résultat que tu souhaites obtenir ; ça va nous être difficile de t'aider
    Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

    F.A.Q. : Java, PHP, (X)HTML / CSS

    N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème

  3. #3
    Futur Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    en fait je veux toutes les partie entre les parenthèses non échapées

    donc ces parties en gras :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <tr><td><a href="javascript:;" onclick="return profil(event,'roxymelo');">Roxymelo</a></td>
    <td nowrap>0 dollars</td>
    <td><a href='/jeu/defi.php?id_defi=3411173&id_adv=115763'>Voir le défi</a></td>
    </tr>

  4. #4
    Futur Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    bon j'ai trouvé le problème :

    c'est \s* qui ne marche pas

    du coup j'ai fait caractères par caratères ce qui me donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var ereg_faits = /\<tr\>\<td\>\<a href\="javascript\:;" onclick\="return profil\(event,'.+'\);"\>(.+)\<\/a\>\<\/td\>[\r\n]{1,2}\t\t\t\<td nowrap\>([0-9]+) dollars\<\/td\>[\r\n]{1,2}\t\t\t\<td\>\<a href\='\/jeu\/defi\.php\?id_defi\=([0-9]+)&id_adv\=([0-9]+)'\>Voir le défi\<\/a\>\<\/td\>[\r\n]{1,2}\t\t\t\<\/tr\>/g;
    pour ça j'ai un script php qui m'échappe tout seul les caractères avec preg_quote
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    <?php
    if(isset($_POST['txt'])){
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    	<head>
    		<title></title>
    	</head>
    	<body>
    		<fieldset>
        		<legend>PREG-QUOTE</legend>
    <pre><?php
    $src  = array("/\\t/","/\\n/","/\\r/");
    $dst = array("\\t"   ,"\\n"  ,"\\r");
     
    echo preg_replace($src, $dst, htmlspecialchars(preg_quote(stripslashes($_POST['txt']),"/")));
     
    ?></pre>
    		</fieldset>
    	</body>
    </html>
    <?php } else { ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    	<head>
    		<title></title>
     
    <script>
    var num = 3;
     
    function ajouter(){
    	document.getElementById('leLigneDeRemplacement').innerHTML += '<tr><td><input name="src'+num+'" type="text" /></td><td><input name="dst'+num+'" type="text" /></td></tr>';
    	num++;
    }
    </script>
    <style type="text/css">
    textarea {
    	width: 800px;
    	height: 350px;
    }
     
    thead > tr > td {
    	text-align: center;
    }
    </style>
    	</head>
    	<body>
    		<form action="testEreg.php" method="post">
    			<textarea name="txt"></textarea>
    			<br />
    			<input type="submit" />
    		</form>
    	</body>
    </html>
    <?php
    }
    ?>
    PS: d'ailleur le preg_replace est un peu violent :/

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

Discussions similaires

  1. [RegExp] RegExp.test(String) ou String.match(RegExp)
    Par Eric2a dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 10/09/2010, 00h42
  2. [RegExp] pattern matching adapté
    Par thierry_b dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 06/07/2009, 18h13
  3. Réponses: 1
    Dernier message: 04/05/2009, 11h08
  4. Type unit, type string, match with
    Par lioudow dans le forum Caml
    Réponses: 8
    Dernier message: 12/02/2007, 17h12
  5. [Regexp] String.matches
    Par scifire dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 21/11/2005, 17h25

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