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 :

Traitement des caractères spéciaux


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 270
    Points : 138
    Points
    138
    Par défaut Traitement des caractères spéciaux
    bonjour tout le monde,

    j'ai commencer a creer une petite fonction, ou plutôt un bout de code que je retrouve partout dans mes pages.

    il rempalce lescaractères "é", " ", "à" par l'équivalent en ...... en je ne sais pas quelle norme ! (c'est pas du asci c'est pas l'equivalent html ... je ne sais pas ce que c'est !! )

    je remplace ces caractères pour pouvoir faire des liens href en php valide pour FF et IE.

    Voici les lignes de codes :


    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
     
    $vr = str_replace ( ' ' , '%20' , $vr );
    $vr = str_replace ( 'é' , '%c3%a9' , $vr);
    $vr = str_replace ( 'è' , '%C3%A8' , $vr);
    $vr= str_replace ( 'à' , '%C3%A0' , $vr );
     
    $tt = str_replace ( ' ' , '%20' , $tt );
    $tt = str_replace ( 'é' , '%c3%a9' , $tt );
    $tt = str_replace ( 'è' , '%C3%A8' , $tt );
    $tt = str_replace ( 'à' , '%C3%A0' , $tt);
     
    $do = str_replace ( ' ' , '%20' , $do );
    $do = str_replace ( 'é' , '%c3%a9' , $do );
    $do = str_replace ( 'è' , '%C3%A8' , $do );
    $do = str_replace ( 'à' , '%C3%A0' , $do );
    j'ai essayer plusieurs fonction htmlenties, rawurl, urlenconde, urldecode ...(les noms ressemblaient un peut a ça .. )

    et même des combinaison du style urldecode(rawurl(urlencode(htmlenties)))
    (en exagèrant ... )

    Mais ce n'est pas du tout le bon résultats (les espaces étaient remplacer par des "+" les "é" par des "%E9" .... )

    ☻Existe il une fonction pour remplacer les caractères speciaux que j'ai (et les autres) par l'equivalent de cette norme inconnu ?

    ☻si non, comment rendre des url avec caractère speciaux valides sous ff et ie et les autres navigateur (opera,n safarie ... ) ?

    ☻ Comment faire un appel de fonction pour éviter ces redondances ?

    Merci a vous !

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 893
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 893
    Points : 16 346
    Points
    16 346
    Par défaut
    La fonction rawurlencode() doit faire ça très bien pourtant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo rawurlencode( 'http://www.google.fr/saison=été&mois=août&phrase=bonjour à tous' );
    http%3A%2F%2Fwww.google.fr%2Fsaison%3D%E9t%E9%26mois%3Dao%FBt%26phrase%3Dbonjour%20%E0%20tous

  3. #3
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Points : 5 673
    Points
    5 673
    Par défaut
    Bonjour,

    Existe il une fonction pour remplacer les caractères speciaux que j'ai (et les autres) par l'equivalent de cette norme inconnu ?
    Oui, sans doute :
    Mais si dans toutes tes pages, c'est alors le charset qu'il faut modifier, car tu n'utilises probablement pas le bon charset :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    ou
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

  4. #4
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 270
    Points : 138
    Points
    138
    Par défaut
    ah bon ? j'ai pourtant essayer beaucoups de fonctions.

    La ce sont des variables que je recupere d'une bdd que je passe en paramètre ..

    C'est bizzar, avec le code source ci dessus sous easyphp sa marche très bien mais sur mon serveur perso certains lien ne fonctionnent pas

Discussions similaires

  1. [MySQL] Importation de fichier texte avec traitement des caractères spéciaux
    Par runcafre91 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 30/12/2009, 22h28
  2. [ODBC] Traitement des caractères spéciaux
    Par loulitta dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 19/06/2008, 09h38
  3. [XSLT] Remplacer par des caractères spéciaux
    Par OXyGN dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 29/07/2005, 17h30
  4. traitement des caractères spéciaux avec XSLT
    Par Mirgue dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 19/07/2004, 16h57
  5. Où trouver la liste des caractères spéciaux?
    Par gamez dans le forum Langage
    Réponses: 3
    Dernier message: 19/08/2003, 17h54

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