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 :

Récuperer des mots sans liens [RegEx]


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8
    Points : 6
    Points
    6
    Par défaut Récuperer des mots sans liens
    Bonjour à tous,

    Je galère sur une expressions régulieres, j'ai essayé pas mal de trucs via l'outil "Expresso" mais je n'arrive pas à mes fins.

    J'explique :
    J'aimerais récuperer toutes les occurences d'un mot dans une page qui ne soient pas entourés de balise <a><a/>

    Exemple avec le mot RATP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    RATP
    La RATP la famille
    <a name="b">RATP</a>
    <P>RATP</P>
    <a href="test" target="_blank" title="RATP">RATP </a>
    Salut tout le monde RATP 
    mais <a href="test" target='RATP' title="blable">RATP</a>
    sans la RATP <br  />
    <a title="blable">RATP</a>
    <a>RATP</a>
    En vert, ce sont les mots que j'aimerais avoir, et en rouge les mots que je ne veux pas

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 320
    Points : 311
    Points
    311
    Par défaut
    Question subsidiaire: Est-ce que tu veux éviter uniquement le mot tout seul dans un lien, ou bien tu veux aussi l'éviter s'il n'est pas isolé dans le lien ?

    Exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="toto.htm">Ceci est un lien contenant le mot RATP, mais pas seulement</a>

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    En effet, j'aimerais aussi l'eviter dans un lien où le mot ne serait pas isolé. C'est a dire que je ne dois pas recuperer le mot dans ton exemple.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 78
    Points : 62
    Points
    62
    Par défaut
    j'ai triché un peu :
    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
    <?php
    	$chaine='RATP
    La RATP la famille
    <a name="b">RATP</a>
    <P>RATP</P>
    <a href="test" target="_blank" title="RATP">RATP </a>
    Salut tout le monde RATP 
    mais <a href="test" target="RATP" title="blable">RATP</a>
    sans la RATP <br  />
    <a title="blable">RATP</a>
    <a>RATP</a>';
    	$pattern="#<a(.)+</a>#i";
    	$tb=preg_split($pattern, $chaine);
    	$nvChaine="";
    	for($i=0;$i<count($tb);$i++){
    		$nvChaine.=$tb[$i];
    	}
    	preg_match_all('#RATP#i', $nvChaine, $arr, PREG_PATTERN_ORDER);
    	echo count($arr[0]);
    ?>
    j'ai d'abord exclu les liens puis reconsitué une chaîne sans lien que j'ai ensuite testé avec preg_match_all et j'ai fait afficher le nombre d'occurrences trouvées

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Merci bcp, mais je ne peux pas utiliser ce que tu as fait car je suis sur du .Net

    Le fait d'ajouter un traitement me parait tres lourd, car l'expression reguliere va se faire sur un nombre important de lignes. J'aurais aimé avoir une expression qui le fasse en une seule fois.. Mais merci quand mm.

    Si qqn a une autre idée, je suis preneur.

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Question idiote : tu es sûr d'avoir posté dans la bonne partie du forum ? En quel langage travailles-tu exactement ? parce que si c'est effectivement du .NET, tu ne risques pas d'obtenir de réponses dans le forum PHP...

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    En fait, je cherchais juste une expression reguliere sans qu'il y ait du traitement par langage, php ou autre.

    Pour info, voici l'expression reguliere attendu, enfin du moins qui marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    (?s)RATP(?!(?:(?!</?a).)*</a>)
    Merci quand mm ^^

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

Discussions similaires

  1. Récuperer des mots clés à partir d'un fichier log
    Par Melano10 dans le forum Macro
    Réponses: 2
    Dernier message: 25/04/2014, 14h36
  2. récuperer des données sans doublon et avec date ancienne
    Par faniette dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 23/04/2013, 16h50
  3. Recherche des mots sans mettre leur accent
    Par walibda dans le forum WebDev
    Réponses: 4
    Dernier message: 08/03/2010, 14h19
  4. [Tool Tip Text]Lien qui affiche des infos sans cliquer !
    Par Melchisedec dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 08/06/2006, 14h14
  5. [PostgresSQL]Pb accés des utilisateurs sans mot de passe
    Par woodwai dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 22/05/2003, 16h06

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