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 :

Je tourne en rond avec un é


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 94
    Par défaut Je tourne en rond avec un é
    Bonjour,

    Voila mon soucis, j'ai une fonction qui nettoie une chaine mais je rencontre un soucis avec le é :

    Titre : Dreamworks : Kung Fu Panda - Sébastien Chort
    Url réécrite :/dossier-2-3-dreamworks-kung-fu-panda-s�bastien-chort.html

    La fonction :
    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
     
    function mrpropre($chaine){
    	$tofind = " ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ()[]'~$&%*@ç!?;,:\^¨€{}|+-<>";
    	$replac = "-AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn--------------------E-------";
    	$mrpropre = utf8_decode($chaine);
    	$mrpropre =(strtr($mrpropre,$tofind,$replac));
    	$mrpropre = strtolower($mrpropre);
    	$mrpropre = ereg_replace("\"","-", $mrpropre);
    	$mrpropre = ereg_replace("[-]{2,}", "-", $mrpropre);
    	$mrpropre = str_replace(array('&eacute;', '&egrave;', '&ecirc;'), 'e', $mrpropre);
        $mrpropre = str_replace('&agrave;', 'a', $mrpropre);
     	$mrpropre = str_replace('&iuml;', 'i', $mrpropre);
     	$mrpropre = str_replace('&amp;', '&', $mrpropre);
     	$mrpropre = str_replace('&nbsp;', ' ', $mrpropre);
     	$mrpropre = preg_replace('(( )|(, )|( & )|( - )|(:)|(\')|('))', '-', strtolower($mrpropre));
    	$mrpropre = ereg_replace("[-]{2,}", "-", $mrpropre);
    	return $mrpropre;
    }
    D'où vient mon soucis, je tourne en rond!!!

    Merci pour votre aide.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 60
    Par défaut
    Alors déjà je vois une potentielle erreur :

    Tu fais des
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $mrpropre = str_replace(array('&eacute;', '&egrave;', '&ecirc;'), 'e', $mrpropre);
    après avoir fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $mrpropre =(strtr($mrpropre,$tofind,$replac));
    Donc dans le premier cas les & sont tous remplacé par des "-". Tu devrais placer tes changements d'entité HTML avant de faire le remplacement globale ou utiliser la fonction html_entity_decode() .

    Ensuite, cette ligne ne sert à rien je pense :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $mrpropre = preg_replace('(( )|(, )|( & )|( - )|(:)|(\')|('))', '-', strtolower($mrpropre));
    Ta chaîne est bien en UTF8?
    Quel est l'encodage de ton fichier php? ISO?

    A la fin de ta fonction fait un print $mrpropre; et regarde dans la source de ta page comment il est écrit (et donne nous l'encodage de ta page).

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 94
    Par défaut
    Ma page est encodé en UTF8, concernant la chaine normalement aussi.

    Le retour du print : dreamworks-:-kung-fu-panda-s�bastien-chort

    Et j'ai corrigé les erreurs que tu cite.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 60
    Par défaut
    Le retour du print c'est le code source ou ce qui est affiché dans la page? Et quel est l'encodage de ta page?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 94
    Par défaut
    Bon j'ai revu complètement ma fonction mrpropre et maintenant je n'ai plus de soucis.
    Merci pour ton aide.

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

Discussions similaires

  1. avec while, je tourne en rond !
    Par zugolin dans le forum Langage
    Réponses: 4
    Dernier message: 09/03/2009, 22h57
  2. Ca tourne en rond avec FileUpload
    Par Attila50 dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 27/05/2007, 09h11
  3. Réponses: 4
    Dernier message: 21/07/2006, 10h58
  4. Prog qui tourne en rond :-(
    Par FranckDev dans le forum CORBA
    Réponses: 2
    Dernier message: 07/09/2005, 13h50
  5. Je tourne en rond....
    Par Ol dans le forum Langage SQL
    Réponses: 3
    Dernier message: 16/02/2005, 07h54

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