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 :

Chercher caracteres dans toute la page et le remplacer


Sujet :

JavaScript

  1. #1
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mars 2007
    Messages : 215
    Points : 151
    Points
    151
    Par défaut Chercher caracteres dans toute la page et le remplacer
    Bonjour,
    j'ai un site codé à la base en utf-8 (avec cmsms) et quand j'y ai intégré un cgi, surprise : j'avais plein de caractéres bizard (genre è ...) -> la je me suis rendu compte que le cgi etait en iso^^
    alors j'me suis dit c'est pas grave je vais coder mes pages en iso aussi (je peux pas toucher au cgi) et la cool plus de probleme avec mon cgi mais (et oui sinon je posterai pas^^) le cms (qui est censé m'aider^^) enregistre le titre des pages dans une base de données codé en... utf-8
    donc je me retrouve avec des caracteres bizard dans tous les titres de toutes mes page
    Je peux pas modifier l'encodage de la base donc je me suis dit :
    " vu que chaque caractere accentué à un equivalent en caractere bizard^^ je n'ai plus qu'à rechercher dans toute la page ces caracteres et les remplacer."

    Le probleme c'est que je ne sais pas comment recuperer tout les caracteres.
    En cherchant j'ai trouvé la fonction search mais je ne sais pas recuperé les données du document ( genre document.value.search ca serai cool ) Voila si vous avez une idée je suis preneur.

    Merci

  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 637
    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 637
    Points : 66 662
    Points
    66 662
    Billets dans le blog
    1
    Par défaut
    un replace directement avec un regExp ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mars 2007
    Messages : 215
    Points : 151
    Points
    151
    Par défaut
    Quelque chose dans le genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    var chaine=document.body.innerHTML;
     
    var reg1=new RegExp("(é)", "g");
    var reg2=new RegExp("(è)", "g");
    chaine = chaine.replace(reg1,"é");
    chaine = chaine.replace(reg2,"è");
     
    document.body.innerHTML = chaine;
    Ca a l'air de bien marcher
    L'ennui c'est que ca marche que pour le body et quand je fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.head.innerHTML
    il me met : document.head has no properties

    Mais vu qu'il n'y a que la balise title à modifier je peux la recuperer avec un document.title et la modifier de la même façon?

    Je vais aller tester tout ca et merci pour ton aide SpaceFrog

  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 637
    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 637
    Points : 66 662
    Points
    66 662
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementsByTagName('head')[0]
    ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    euh, si j'ai bien compris (le cmsms est un outil que je connais pas ) :
    tu as un site codé un ISO, qui appelle un script CGI en ISO. Et ce script accède à une base de données dont les valeurs sont codées en UTF-8 c'est ça ?

    Et si tu remplaçais tes caractères spéciaux par leur équivalent en code ISO :
    http://alis.isoc.org/codage/iso8859/jeuxiso.htm

  6. #6
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mars 2007
    Messages : 215
    Points : 151
    Points
    151
    Par défaut
    Le code est bien modifié mais il n'y a pas de modification du titre sur le navigateur... Je pense pas que les gens regarde trop le titre de la page^^ et puis je peux me debrouiller pour enlever le nom de la page dans le titre comme ca ca sera plus simple je pense vu que le nom du site ne contient pas d'accent c'est parfait^^

    Merci pour ton aide SpaceFrog

  7. #7
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mars 2007
    Messages : 215
    Points : 151
    Points
    151
    Par défaut
    Citation Envoyé par Auteur
    euh, si j'ai bien compris (le cmsms est un outil que je connais pas ) :
    tu as un site codé un ISO, qui appelle un script CGI en ISO. Et ce script accède à une base de données dont les valeurs sont codées en UTF-8 c'est ça ?

    Et si tu remplaçais tes caractères spéciaux par leur équivalent en code ISO :
    http://alis.isoc.org/codage/iso8859/jeuxiso.htm
    C'est le cms qui a une bdd en utf-8. Le cms permet de creer des page il y a un champ texte dans lequel je rentre le nom de la page, le cms l'enregistre dans une base de donnée, et il affiche un "gabarit" avec des tags qu'il remplace par ce qu'il a dans la bdd (j'espere que c'est clair^^) et j'ai deja essayer de remplacer par le code du caractere mais ca ne marche pas non plus

  8. #8
    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 637
    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 637
    Points : 66 662
    Points
    66 662
    Billets dans le blog
    1
    Par défaut
    sinon sur le onload de la page

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.title=document.title.replace
    ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    Citation Envoyé par xclam
    C'est le cms qui a une bdd en utf-8. Le cms permet de creer des page il y a un champ texte dans lequel je rentre le nom de la page, le cms l'enregistre dans une base de donnée, et il affiche un "gabarit" avec des tags qu'il remplace par ce qu'il a dans la bdd (j'espere que c'est clair^^) et j'ai deja essayer de remplacer par le code du caractere mais ca ne marche pas non plus
    merci pour ces précisions

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

Discussions similaires

  1. Variable de session dans toute les pages
    Par Interface dans le forum Langage
    Réponses: 3
    Dernier message: 03/10/2007, 13h02
  2. Chercher une chaine de caracteres dans toute ma base
    Par miltonis dans le forum Langage SQL
    Réponses: 2
    Dernier message: 07/09/2007, 17h33
  3. Répéter l'en-tête de l'état dans toutes les pages
    Par k-eisti dans le forum Modélisation
    Réponses: 3
    Dernier message: 17/08/2007, 12h15
  4. Réponses: 4
    Dernier message: 06/08/2007, 17h10
  5. Réponses: 2
    Dernier message: 01/02/2006, 12h52

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