urgent : problème accent

Dan
Invité n'ayant pas de compte PHPfrance

31 mai 2005, 23:53

merci encore... j'essaie de trouver une réponse et la communique

bonne soirée

Mammouth du PHP | 19672 Messages

31 mai 2005, 23:55

Tiens, j'ai fait une petite fonction qui devrait te dépanner pas mal`:
<?php
/**
* Fonction de remplacement de caractères spéciaux et accentués
*/
function changeaccents($texte)
{
    $car_1 = array("<", ">", "&", "\"", "À", "Á", "Â", "Ã", "Ä", "Å", "Æ", "Ç", "È", "É", "Ê", "Ë", "Í", "Î", "Ì", "Ï", "Ð", "Ñ", "Ò", "Ó", "Ô", "Õ", "Ö", "×", "Ø", "Ù", "Ú", "Û", "Ü", "Ý", "Þ", "ß", "à", "á", "â", "ã", "ä", "å", "æ", "ç", "è", "é", "ê", "ë", "ì", "í", "î", "ï", "ð", "ñ", "ò", "ó", "ô", "õ", "ö", "÷", "ø", "ù", "ú", "û", "ü", "ý", "þ", "ÿ", "¡", "¢", "£", "¤", "¥", "¦", "§", "¨", "©", "ª", "«", "¬", "­", "®", "¯", "°", "±", "²", "³", "´", "µ", "¶", "·", "¸", "¹", "º", "»", "¼", "½", "¾", "¿", "Œ", "œ", "–", "—", "•", "…", "€", "™" );
    $car_2 = array("<", ">", "&", """, "&Agrave;", "&Aacute;", "&Acirc;", "&Atilde;", "&Auml;", "&Aring;", "&AElig;", "&Ccedil;", "&Egrave;", "&Eacute;", "&Ecirc;", "&Euml;", "&Iacute;", "&Icirc;", "&Igrave;", "&Iuml;", "&ETH;", "&Ntilde;", "&Ograve;", "&Oacute;", "&Ocirc;", "&Otilde;", "&Ouml;", "&times;", "&Oslash;", "&Ugrave;", "&Uacute;", "&Ucirc;", "&Uuml;", "&Yacute;", "&THORN;", "&szlig;", "&agrave;", "&aacute;", "&acirc;", "&atilde;", "&auml;", "&aring;", "&aelig;", "&ccedil;", "&egrave;", "&eacute;", "&ecirc;", "&euml;", "&igrave;", "&iacute;", "&icirc;", "&iuml;", "&eth;", "&ntilde;", "&ograve;", "&oacute;", "&ocirc;", "&otilde;", "&ouml;", "&divide;", "&oslash;", "&ugrave;", "&uacute;", "&ucirc;", "&uuml;", "&yacute;", "&thorn;", "&yuml;", "&iexcl;", "&cent;", "&pound;", "&curren;", "&yen;", "&brvbar;", "&sect;", "&uml;", "&copy;", "&ordf;", "&laquo;", "&not;", "&shy;", "&reg;", "&macr;", "&deg;", "&plusmn;", "&sup2;", "&sup3;", "&acute;", "&micro;", "&para;", "&middot;", "&cedil;", "&sup1;", "&ordm;", "&raquo;", "&frac14;", "&frac12;", "&frac34;", "&iquest;", "&OElig;", "&oelig;", "&ndash;", "&mdash;", "&bull;", "&hellip;", "&euro;", "&trade;");
    $nouveau_texte = str_replace($car_1, $car_2, $texte);
    return $nouveau_texte;
}
?>
Utilisation:
$message = changeaccents($message);
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Dan
Invité n'ayant pas de compte PHPfrance

01 juin 2005, 00:01

Très sympa merci beaucoup Cyrano...

Par contre, je la place où ?

Avant le paragraphe concerné ou après ?

Mammouth du PHP | 19672 Messages

01 juin 2005, 00:11

C'est une fonction, alors tu la place avant, en début de fichier voire même en fichier externe si tu veux. Si tu le mets en externe, n'oublie pas d'appeler le fichier avec include("chemin/ver/fichier/nom_fichier.php");

Et ensuite, juste après avoir préparé ton message, tu le transforme avec la fonction que j'ai mis dans la ligne d'utilisation de mon post précédent.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ViPHP
fab
ViPHP | 2657 Messages

01 juin 2005, 00:16

y a un truc que je capte pas, normalement c'est pas ce que fait htmlentities ?

Dan
Invité n'ayant pas de compte PHPfrance

01 juin 2005, 00:26

Je ne sais pourquoi mais en intégrant la fonction de Cyrano, l'éditeur de texte m' a demandé d'enregistrer le fichier dans un autre "occidental"

J'ai oublié un gros détail, je suis sur Mac avec un éditeur qui offre la possiblité différent "alphabet"

J'ai alors reessayer la fonction "htmlentities()" en la mettant devant le paragraphe concerné et tout fonctionne...

Merci beaucoup pour votre aide car j'ai l'énorme impression d'avoir un peu abusé de votre gentillesse.

bonne soirée

ViPHP
fab
ViPHP | 2657 Messages

01 juin 2005, 00:28

je me disais aussi :), pas grave du tout mais la prochaine fois inscrit toi :p

Mammouth du PHP | 19672 Messages

01 juin 2005, 00:30

OUais, t'as raison en fait, je viens de vérifier en comparant le résutat de htmlentities et ma fonction et ça fait strictement la même chose.

Je vais me coucher :P
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 61 Messages

01 juin 2005, 17:47

....pu***n...toute une fonction à la poubelle.... :?

t'as pas tapé tout ça toi même quand meme ?!?... :shock:
si vous avez une idée pour ma signature, faite-moi signe, merci...

Mammouth du PHP | 19672 Messages

01 juin 2005, 17:50

si si, ça m'a pris dix minutes, mais bon, pas grave ;)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 61 Messages

01 juin 2005, 17:56

10 min.............mmmoouaahh ! arrête....

bon ça serira peut-être un jour...
si vous avez une idée pour ma signature, faite-moi signe, merci...

Mammouth du PHP | 19672 Messages

01 juin 2005, 18:01

M'étonnerait ou alors comme cas d'école pour enseigner l'utilisation de str_replace(), ça peut être très utile en formation.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 61 Messages

01 juin 2005, 18:20

ouais...

en tout cas, même si au premier abord on se dit "wwwooaaawww immense le truc !!!"...ben en fait c'est tout con...

on déclare X
puis on déclare Y

Si les conditions de str_replace() l'éxige, remplacé X par Y...

nan ?
si vous avez une idée pour ma signature, faite-moi signe, merci...

Mammouth du PHP | 19672 Messages

01 juin 2005, 18:23

tu as tout compris :)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

07 juin 2005, 11:37

Non, ce n'est pas inutile.
La preuve sur http://www.phpfrance.com/forums/voir_sujet-4059.php. ;)