Remplacer caractères spéciaux dans une chaine

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Remplacer caractères spéciaux dans une chaine

Re: Remplacer caractères spéciaux dans une chaine

par moogli » 30 mars 2013, 14:17

:mrgreen:

c'est pas moi hein :)

Re: Remplacer caractères spéciaux dans une chaine

par sirakawa » 30 mars 2013, 09:48

Moogli,
gros malin, à cause de toi, je me suis farci le sujet sans faire attention à la date au début; heureusement que je suis passé en page 2, pour voir qui avait exhumé ce sujet!!!

Re: Remplacer caractères spéciaux dans une chaine

par moogli » 29 mars 2013, 16:58

J'espère qu'il a trouvé depuis 4,5 ans ;)


@+

Re: Remplacer caractères spéciaux dans une chaine

par dawadam » 29 mars 2013, 13:19

Et ça ?
setlocale(LC_ALL,'fr_FR.UTF-8');
http://blog.kdecherf.com/2009/04/14/php ... vec-iconv/

Re: Remplacer caractères spéciaux dans une chaine

par Peyothe » 04 août 2009, 22:50

J'ai essayer tous les codes avec plusieurs éditeurs de texte (dreamweaver et notepad++) sur 2 serveur apache différents et sur plusieurs navigateurs (Firefox IE Safari) sur Mac et Windows.

Rien n'y fait, le résultat est le même. J'ai absolument besoin de régler ce problème, je ne sais plus où chercher ....

:| :|

Re: Remplacer caractères spéciaux dans une chaine

par thehawk » 04 août 2009, 15:33

Peut être un souci avec l'éditeur de texte ? essaye de passé en UTF-8

Bye hawk

Re: Remplacer caractères spéciaux dans une chaine

par Victor BRITO » 04 août 2009, 15:13

Est-ce que le code fonctionne bien chez toi ?
Le premier code que j'ai suggéré fonctionne bien chez moi (codage en UTF-8). Il en est de même pour celui qui tient compte du codage ISO-8859-1.

Je suis donc surpris pourquoi il en est autrement de ton côté. :-k

Re: Remplacer caractères spéciaux dans une chaine

par Peyothe » 04 août 2009, 13:44

Snif,

Pas mieux ... j'obtiens htelplazza .. Je désepère ...

Es ce que le code fonctionne bien chez toi ?

Re: Remplacer caractères spéciaux dans une chaine

par Victor BRITO » 04 août 2009, 13:42

Dans ce cas, essaie comme suit (avec un utf8_encode ()) :

Code : Tout sélectionner

function simpleName ($chaine) {   $string = iconv ('UTF-8', 'US-ASCII//TRANSLIT//IGNORE', utf8_encode ($chaine));   $string = preg_replace ('#[^.0-9a-z]+#i', '', $string);   $string = strtolower ($string);   return $string; } // Affiche hotelplazza echo simpleName ('Hôtel Plazza'); 

Re: Remplacer caractères spéciaux dans une chaine

par Peyothe » 04 août 2009, 13:35

UTF-8

Re: Remplacer caractères spéciaux dans une chaine

par Victor BRITO » 04 août 2009, 13:33

Dans quel codage est édité ton fichier PHP (en UTF-8 ? en ISO-8859-1 ?) ?

Re: Remplacer caractères spéciaux dans une chaine

par thehawk » 04 août 2009, 13:32

Victor regarde l'encodage par défaut , et si PHP reconnnait le bon encodage de caractère :)

Re: Remplacer caractères spéciaux dans une chaine

par Peyothe » 04 août 2009, 13:22

Voila résultat :

Code : Tout sélectionner

string(5) "UTF-8"
Je comprends pas ce que je fais la ^^

Re: Remplacer caractères spéciaux dans une chaine

par Victor BRITO » 04 août 2009, 13:19

Effectue à présent un

Code : Tout sélectionner

var_dump (mb_detect_encoding ('Hôtel Plazza au cœur… €')); 

Re: Remplacer caractères spéciaux dans une chaine

par Peyothe » 04 août 2009, 13:12

Ca retourne :

Code : Tout sélectionner

array(3) { ["input_encoding"]=> string(10) "ISO-8859-1" ["output_encoding"]=> string(10) "ISO-8859-1" ["internal_encoding"]=> string(10) "ISO-8859-1" }
Et j'ai bien mis ISO-8859-1 dans la fonction comme tu l'as précisé dans le commentaire.