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 :

Hardcore REGEX: surlignement sur une page


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Avatar de FMaz
    Inscrit en
    Mars 2005
    Messages
    643
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 643
    Points : 640
    Points
    640
    Par défaut Hardcore REGEX: surlignement sur une page
    Fan de regex, voici une problèmatique qui va peut-être vous faire dresser les cheveux sur la tête.

    Voici ma solution pour le moment:
    Regex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (?(?=^)^([^<]*?)(le|la)([^<]*?)|(?=>)([^<]*?)(le|la)(.*?)?)
    Critère de remplacement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     \1\4<span id="hlzone" style="background-color:#DDDD00;">\2\5</span>\3\6
    Le but ce cet exemple est de surligner tout les mots d'un message ou d'une page qui contienne "le" ou "la"

    MAIS !! Attention, on ne veux pas que cette exemple suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Le monstre: <a href="www.lemonstre.com">Bella!</a>.
    devienne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <span>Le</span> monstre: <a href="www.<span>le</span>monstre.com">Bel<span>la</span>!</a>.
    mais bien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <span>Le</span> monstre: <a href="www.lemonstre.com">Bel<span>la</span>!</a>.
    Vous comprendrez que tout ce qui est DANS une balise ne doit en aucun cas être touché.


    Alors je voulais savoir si vous aviez sous la main des REGEX qui font ce genre de chose. Je vous ai montré le mien (qui n'est peut-être pas parfait), à vous de montrez ce que vous avez

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 642
    Points : 66 668
    Points
    66 668
    Billets dans le blog
    1
    Par défaut
    perso j'aurais bouclé sur document.getElementsByTagnName('*') pour en récupérer le data ou les textNodes pour n'appliquer la modif que sur les textes et pas le contenu des balises

  3. #3
    Membre confirmé
    Avatar de FMaz
    Inscrit en
    Mars 2005
    Messages
    643
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 643
    Points : 640
    Points
    640
    Par défaut
    Heu, ouais sans doute. Mais faut voir ca dans un angle plus large.

    Ca pourrait aussi bien être du PHP qui modifierais le message avant même qu'il soit inséré dans un élément

    Ca pourrait être un résultat d'une requête ajax pas encore interprété (donc une string seulement).

    Ma question ne se limitait pas seulement au JS... (peut-etre que je suis pas dans la bonne section :-\ )

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 642
    Points : 66 668
    Points
    66 668
    Billets dans le blog
    1
    Par défaut

    désolé déformation javascriptienne ...

  5. #5
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par FMaz
    Heu, ouais sans doute. Mais faut voir ca dans un angle plus large.

    Ca pourrait aussi bien être du PHP qui modifierais le message avant même qu'il soit inséré dans un élément

    Ca pourrait être un résultat d'une requête ajax pas encore interprété (donc une string seulement).

    Ma question ne se limitait pas seulement au JS... (peut-etre que je suis pas dans la bonne section :-\ )
    A mon avis, tu cherches à faire une solution trop générique.

    Si c'est sur une page web, tu peux acceder à tous les noeuds texte, et faire le remplacement dans tous les noeuds textes....

  6. #6
    Membre confirmé
    Avatar de FMaz
    Inscrit en
    Mars 2005
    Messages
    643
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 643
    Points : 640
    Points
    640
    Par défaut
    Bah c'est le but: faire une solution générique applicable dans n'importe quelle situation.

    D'ailleurs j'y suis relativement bien arrivé mais je trouve mon regex un peu complexe.

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 642
    Points : 66 668
    Points
    66 668
    Billets dans le blog
    1
    Par défaut
    merci denis ...

Discussions similaires

  1. Surligner un mot clé sur une page à partir d'une toolbar
    Par Chisai dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 05/08/2009, 09h56
  2. Problème de chaine sur une page HTML
    Par Kerod dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 23/11/2004, 16h23
  3. Lien simple amenant sur une page détaillée....
    Par Ovide dans le forum Requêtes
    Réponses: 2
    Dernier message: 03/08/2004, 11h34
  4. application qui connecte sur une page web
    Par spoolz dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 14/04/2004, 09h47
  5. [RaveReport] - Bloquer groupe sur une page
    Par muaddib dans le forum Rave
    Réponses: 3
    Dernier message: 25/02/2003, 16h21

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