Bonjour à tous
J'ai défini une fonction qui traduit une chaîne de caractères en ASCII, quel que soit le codage de cette chaîne.
Si je la mets dans un programme de test
J'obtiens bien:
Par contre si j'essaie de la mettre dans un programme plus complexe, qui contient de nombreuses autres fonctions, le programme plante au chargement.
Je suppose qu'il y a une incompatibilité avec "autre chose" dans mon environnement, mais quoi?
Cela se produit lorsque l'on a deux classes de même nom dans deux fichiers PHP et qu'on charge simultanément par include, mais là il n'y a aucune classe de définie.
Auriez vous une idée sur les raisons de ce phénomène?
Merci de votre aide.
J'ai défini une fonction qui traduit une chaîne de caractères en ASCII, quel que soit le codage de cette chaîne.
Si je la mets dans un programme de test
<?php
function plainASCII($text) {
return iconv("UTF-8", "ASCII//TRANSLIT//IGNORE", transliterator_transliterate('Any-Latin; Latin-ASCII', $text));
}
$text = "A æ Übérmensch på høyeste nivå! ? ? ????? PHP! ????. ?";
var_dump(plainASCII($text));
?>
J'obtiens bien:
string(56) "A ae Ubermensch pa hoyeste niva! I a lublu PHP! est?. fi"
Par contre si j'essaie de la mettre dans un programme plus complexe, qui contient de nombreuses autres fonctions, le programme plante au chargement.
Je suppose qu'il y a une incompatibilité avec "autre chose" dans mon environnement, mais quoi?
Cela se produit lorsque l'on a deux classes de même nom dans deux fichiers PHP et qu'on charge simultanément par include, mais là il n'y a aucune classe de définie.
Auriez vous une idée sur les raisons de ce phénomène?
Merci de votre aide.