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

Langage PHP Discussion :

Caractères spéciaux html


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2008
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 19
    Par défaut Caractères spéciaux html
    bonjour,

    j'ai crée un outil pour permettre a des clients de mon site d'envoyer un e-amil par le biais d'un formulaire et je voufrai qu'ils puissent utiliser du html et qu'il ne soient pas obligés de connaitres les caractères spéciaux html comme & j'ai donc utilisé htmlentities() mais cela transforme aussi les balises qui ne sont donc plus fonctionnelles.
    quelqu'un aurai-t-il une solution


    merci d'avance

  2. #2
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Tu veux donc qu'ils connaissent HTML, mais pas les caractères spéciaux ?
    N'est-ce pas un peu contradictoire ?

    Pour revenir au problème, si tu veux garder cette hypothèse un peu bancale, il ne te reste plus qu'à coder ton propre parser, à base de str_replace par exemple.

  3. #3
    Membre averti
    Inscrit en
    Septembre 2008
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 19
    Par défaut
    ca va faire long pour tous les caractères spécaix non
    on ne pourrai pas faire accepter les caractères spéciaux en changeant l'encodage des caractères dans les headers de l'email je suis en utf-8

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 31
    Par défaut
    Salut
    A ta place, je passerais par les expressions régulières avec la fonction preg_replace.

    Solution opportuniste :
    1. Tu remplaces toutes tes balises en BBCode avec preg_replace
    2. Tu appliques l'html_entities
    3. Tu remplaces ton BBCode en balises html toujours avec preg_replace

    Ou alors :
    tu te fais un tableau de correspondance des caractères spéciaux et ceux en format HTML

    Et sinon tu peux toujours les garder en utf8 avec utf8_encode

  5. #5
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Citation Envoyé par jml94 Voir le message
    Tu veux donc qu'ils connaissent HTML, mais pas les caractères spéciaux ?
    N'est-ce pas un peu contradictoire ?
    Tu n'as pas répondu à ça...
    Tu trouves ça normal ?

  6. #6
    Membre averti
    Inscrit en
    Septembre 2008
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 19
    Par défaut
    bien sur moi je ne connai meme pas les caractères spéciaux du html a part deux donc pour moi c'est parfaitement normal

  7. #7
    Membre averti
    Inscrit en
    Septembre 2008
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 19
    Par défaut
    en fait le problème c'est que les caractères spéciaux comme les accents ne s'affichent pas dans l'e-mail me conseillez vous un encodage qui ne m'obligerai pas a tout transformer en caractères spéciaux

  8. #8
    Membre émérite Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Par défaut
    Si ton encodage est correctement spécifié et que les données que tu envois sont du même encodage il n y a pas de raisons qu'ils s'affichent mal.

    Ex : La page qui permet de poster le mail est en UTF8 (headers HTML)
    Ton mail doit être envoyé avec les headers UTF8

Discussions similaires

  1. Remplacement des caractères spéciaux html
    Par duburov dans le forum Langage
    Réponses: 4
    Dernier message: 26/04/2010, 21h19
  2. Réponses: 4
    Dernier message: 03/11/2009, 12h09
  3. Convertir caractère spéciaux HTML en UTF-8
    Par maxence51 dans le forum C#
    Réponses: 1
    Dernier message: 03/03/2009, 16h20
  4. [XSLT] Supprimer les caractères spéciaux HTML d'un noeud texte
    Par Invité dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 25/12/2008, 22h59

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