Remplacer caractère spéciaux et accents

Répondre
NiKo33
le 16/06/2009 à 12:07
NiKo33
Bonjour,

Existe t'il une fonction PHP pouvant faire la même chose que ces fonctions SQL:

st:=translate($1,'aàäâeéèêëiïîoôöuùûücç','aaaaeeeeeiiiooouuuucc');
st:=translate($1,E'._/\<>|(){}[]*&"''$;?!',E'------------------------');

En gros définir des caractères de remplacement dans une chaine de caractère.

Merci d'avance
NiKo
NiKo33
le 16/06/2009 à 15:44
NiKo33
Merci, j'ai bien lu la doc mais j'ai un souci.
Voila mon code:
nom = 'àéèù';
$nom = strtr($nom,"àäâéèêëïîôöùûüç","aaaeeeeiioouuuc");
echo $nom.' ';


L'affichage me retourne : cacicoc�

Autant dire que ce n'est pas fameux. Quelqu'un à une idée
NiKo
LA GLOBULE
le 16/06/2009 à 17:44
LA GLOBULE
A priori, tu travailles en UTF-8.
Le problème est la : cette fonction n'est pas compatible UTF-8.

Essaye celle ci :

<?php
function mb_strtr($string, $in, $out) {
$nb_char = mb_strlen($in);
for ($i=0; $i<$nb_char; $i++) {
$char_in = mb_substr($in, $i, 1);
$char_out = mb_substr($out, $i, 1);

$string = mb_ereg_replace($char_in, $char_out, $string);
}
return $string;
}
?>


(elle s'utilise comme l'officielle mais elle utilise l'encodage interne de PHP).
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours