Partage
  • Partager sur Facebook
  • Partager sur Twitter

Chercher et remplacer des mots dans un texte avec javascript

Sujet résolu
    15 décembre 2009 à 12:05:40

    Bonjour,

    j'ai un petit problème et toujours avec javascript je viens vers vous en espérant trouver de l'aide.

    voilà mon problème:

    j'ai un texte a traiter composé de plusieurs mots: une fenêtre de chat avec une zone de texte ou les utilisateurs peuvent poster des messages... je veux contrôler et filtrer ces textes avant d'êtres affichés sur la console de chat.

    Si un utilisateur poste un mot donnée dans son message, si ce mot existe dans une liste de mots prédéfini ce mot sera remplacé par exemple par '****'
    l'outil de chat est: https://blueimp.net/ajax/


    la fonction de remplacement est :
    //Replace stuff people say:
    ajaxChat.replaceCustomText = function(text) {
        text=text.replace(/frug/gi, 'Fruggles');
        text=text.replace(/foo/gi, 'Donkey Foo');
        return text;
    }
    


    avec cette fonction par exemple on peut filtrer tout occurrence d'un mot donnée dans un texte:

    ceci est gênant si le texte contiens des mots qui eux même contiennent la chaine a filtrer.

    exemple: si on veut cherche et remplacer "tit" (on supposant que ce chaîne est prohibé )

    si le texte content les mots suivant "substitute" ou "tithing" ces mots apparaissent de la menière suivante dans la fenêtre de chat : subs****ute et ****hing
    or le but est de filtrer seulement le mot exacte "tit" si elle existe.

    j'ai donc modifier la fonction de cette manière:



    ajaxChat.replaceCustomText = function(text) {
        text=text.replace('frug', 'Fruggles');
        text=text.replace('tit', '****');
        return text;
    }
    


    avec cette modification on peut filtrer exactement le mot ou la chaine désiré mais seulement la première occurrence de ce mot c'est a dire si le texte contiens plusieurs occurrences, la première sera remplacé et les autres non!!

    pouvez vous m'aider a modifier cette fonction pour avoir ce que je veux!!

    merci pour tout aide
    • Partager sur Facebook
    • Partager sur Twitter
      15 décembre 2009 à 12:08:36

      /\bfrug\b/gi
      


      ;)

      \b = fin ou début de mot.
      • Partager sur Facebook
      • Partager sur Twitter
        15 décembre 2009 à 12:11:05

        salut,

        merci pour la réponse assez rapide, mais j'ai pas bien compris ce que vous voulez dire.

        pouvez vous m'expliquer d'avantage ?

        merci
        • Partager sur Facebook
        • Partager sur Twitter
          15 décembre 2009 à 12:14:40

          http://lumadis.be/regex/tuto_pcre.php#asser

          Bonne lecture :)

          \b permet de marquer la limite d'un mot.
          • Partager sur Facebook
          • Partager sur Twitter

          Chercher et remplacer des mots dans un texte avec javascript

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown