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 :

[javascript] Filtrer les copiés / collé HTML


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Avatar de genova
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 487
    Points : 790
    Points
    790
    Par défaut [javascript] Filtrer les copiés / collé HTML
    Bonjour,
    je développe un éditeur wysiwyg perso et j'ai remarquer qu'en copiant / collant via des pages webs du texte les styles html étaient conservés comme style dans l'éditeur. Or j'ai besoin de filtrer le HTML. Est il possible de traiter le html copié collé ?
    Merci

  2. #2
    Membre éprouvé
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Points : 959
    Points
    959
    Par défaut
    tu voudrais empecher le copier coller?
    à partir du clavier ou de la souris?

  3. #3
    Membre éclairé
    Avatar de kankrelune
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    763
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 763
    Points : 858
    Points
    858
    Par défaut
    Et désactiver le copié/collé du navigateur... ça en fait des trucs à désactiver il serait peut être plus simple de chercher comment convertir ce qui est collé dans l'éditeur... .. .

    @ tchaOo°

    ps : as tu regardé comment fonctionnait celui du forum... .. .

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    Pour un truc comme il me parait évident que htmlspecialchars en php est fait pour cela. Ou alors j'ai rien compris à ce que tu veux.

  5. #5
    Membre éclairé
    Avatar de kankrelune
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    763
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 763
    Points : 858
    Points
    858
    Par défaut
    Citation Envoyé par psychoBob
    Pour un truc comme il me parait évident que htmlspecialchars en php est fait pour cela. Ou alors j'ai rien compris à ce que tu veux.

    Bah le problème c'est que le wysiwyg c'est coté client... je vois mal la page se recharger à chaque fois que tu tape une balise... .. .

    @ tchaOo°

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    Ah par filtrer, j'entendais sécuriser le truc. En fait genova veut qu'il s'affiche même pas dans le textarea ?

    Bah je sais pas.

  7. #7
    Membre éclairé
    Avatar de genova
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 487
    Points : 790
    Points
    790
    Par défaut
    Salut, merci pour les réponses.

    Alors je n'ai peut etre pas été assez clair, je vais tenter de résumer le problème en image. Actuellement mon éditeur WYSIWYG utilise une iframe (seul moyen apparament pour que ça fonctionne sous gecko), voilà ce qui se passe quand je copie colle le premier paragraphe de ce site : http://fire-soft-board.com/index.php sur mon éditeur wysiwyg :


    Si dans le code que j'avais copié il y'avait du texte en gras, celui ci apparait aussi sur l'éditeur directement. Le problème c'est que les balises copiées sont celles du site, donc par conséquent si je copie colle un tableau depuis un site vers l'éditeur le tableau sera dans la source. Il est donc possible d'injecter du HTML dans l'éditeur WYSIWYG.

    Ma question est donc de savoir s'il est possible de surveiller le code copié / collé directement en javascript.

    Au pire si c'est impossible je me contenterai de parser le HTML envoyé en PHP, mais j'aurai aimer savoir s'il y a d'autres solutions ^^

    PS : après test sur ce forum, apparament le HTML est parsé lors de l'envoie du message donc c'est peut être le seul moyen.

    Merci

  8. #8
    Membre régulier
    Inscrit en
    Mai 2004
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 103
    Points : 87
    Points
    87
    Par défaut
    salut j'ai eu un probleme similaire, voici une petite fonction faite avec des expressions regulieres qui te permet de regler ton probleme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    function supprime_html(texte){return texte.replace(/<[^>]+>/g, '');}
    tu passe en parametre ta chaine (parametre "texte") et la fonction retourne une chaine epuree de toute balise html...


    @+

  9. #9
    Membre éclairé
    Avatar de kankrelune
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    763
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 763
    Points : 858
    Points
    858
    Par défaut
    Le problème de la fonction de pit9.76 c'est qu'elle ne vire pas que les balise html... .. .

    Si j'ais un texte genre de math... par exemple...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <div>si  a² = b nous pouvons donc dire que b < d et nous pouvons alors en déduire que  d > c</div>
    il restera plus que

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    si  a² = b nous pouvons donc dire que b  c
    Ce qui peut être génant... de plus il peut être interessant d'afficher le code html en question... .. .

    mieux vaut faire quelque choise du genre...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function pasteFormat(txt)
    {
        txt = txt.replace(/</g,"&lt;");
        return txt.replace(/>/g,"&gt;");
    }
    @ tchaOo°

    ps : tiens nous au courant de tes avancées... ça a l'air sympa... .. .

Discussions similaires

  1. HTML et multipart/form-data comme filtrer les types de fichiers
    Par shaun_the_sheep dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 14/01/2013, 16h53
  2. [HTML Javascript] Préserver les style d'un document.writeln
    Par BahCmoi dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 03/04/2006, 11h08
  3. Réponses: 3
    Dernier message: 27/07/2004, 12h01
  4. Filtrer les voyelles
    Par Babyneedle dans le forum Langage SQL
    Réponses: 9
    Dernier message: 22/12/2003, 15h12
  5. peut on filtrer les adresses IP ?
    Par travail dans le forum 4D
    Réponses: 2
    Dernier message: 04/06/2003, 14h16

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