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

Contribuez Discussion :

[SRC][fonction de librairie]Deux versions de replace


Sujet :

Contribuez

  1. #1
    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 644
    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 644
    Points : 66 671
    Points
    66 671
    Billets dans le blog
    1
    Par défaut [SRC][fonction de librairie]Deux versions de replace
    Une première version pour un remplacement à la volée d'une série de caractères individuels prédéfinis:
    Attention l'ordre des deux chaines prédéfinies est capital !!
    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
    <script type="text/javascript">
    function replaceSpec(Texte){
    var Chaine="ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ"
    Chaine=Chaine.split('')
    TabOut=new Array()
    for (i=0;Chaine[i];i++){
    		TabOut.push(new RegExp(Chaine[i],"g"))
    		}
    TabIn="AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn";
    TabIn=TabIn.split('');
     
    RepTexte=Texte;
    for (i=0;TabIn[i];i++){
        RepTexte=RepTexte.replace(TabOut[i],TabIn[i])
        }		
    return RepTexte
     }   
    </script>
    Utilisation:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var TestTexte="ÀÁÂÒÓÔÕÖØòÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÒÓÔÕÖØòÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ"
    alert(replaceSpec(TestTexte))
    Une seconde version qui peux permettre de remplacer des caractères à la demande ou des mots passés dasn un Hash Avec leur remplacement
    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
    <script type="text/javascript">
    function replaceHash(HasH,Texte){
    TabOut=new Array();
    TabIn=new Array();
     
    for(elt in HasH){
     
          TabOut.push(new RegExp(elt,"g"));
          TabIn.push(HasH[elt]);
    		}
    RepTexte=Texte;
    for (i=0;TabIn[i];i++){
        RepTexte=RepTexte.replace(TabOut[i],TabIn[i])
        }		
    return RepTexte
    </script>
     }
    Son utlisation pour une série de caractères est possible, mais lourde:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     TestTexte="ÀÁÂÒÓÔÕÖØòÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÒÓÔÕÖØòÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ"
    alert(replaceHash({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ç":"C","ç":"c","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","ÿ":"y","Ñ":"N","ñ":"n"},TestTexte))
    Elle est plutot conçue pour ce genre d'utilisation:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var TestTexte="j'adore les bananes"
    alert(replaceHash({"adore":"abore","bananes":"haricots verts"},TestTexte))
    à noter que l'on pourrait aussi passer en paramètre le g et le i de la regEXP

  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 644
    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 644
    Points : 66 671
    Points
    66 671
    Billets dans le blog
    1
    Par défaut
    Attention toutes fois à la différence d'interprétation entre IE et Gecko based (FFX ...) pour les caractères spéciaux ...

    Par exemple:

    le crochet :

    sous IE : /[[]/ matche le crochet ouvrant
    sous FFX: /\[/ pour le même resultat

Discussions similaires

  1. Réponses: 6
    Dernier message: 16/08/2010, 18h42
  2. Empecher deux versions d'un meme programme
    Par yakotey dans le forum C++
    Réponses: 5
    Dernier message: 05/07/2005, 22h45
  3. [STRUTS]peux t-on avoir deux versions d'eclipse ...
    Par marc olivier dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 04/01/2005, 09h01
  4. deux versions d'interbase
    Par dienedz dans le forum InterBase
    Réponses: 3
    Dernier message: 28/09/2004, 12h21
  5. [Jacob] gérer deux versions de Word installées
    Par difdaf dans le forum Documents
    Réponses: 2
    Dernier message: 16/07/2004, 19h32

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