[PHP] caractère invisible ! Script récupérer
TaCosS
-
canarder Messages postés 2034 Statut Membre -
canarder Messages postés 2034 Statut Membre -
Bonjours à tous,
Voila, enfaite j'ai récupérer un script qui était anglais !
Donc j'ai rencontré quelque problème avec l'encodage !
Et puis j'ai trouvé un fichier "include.php" qui dispose du code ci-dessous.
Qui je pense fait une auto translation de certain caractère, et donc ca me mange des caractères telle que le "é" qui devient donc invisible !
Donc j'ai essayé de supprimé ce bous de code, mais je rencontre des problèmes !
J'ai essayé de modifier quelque truk, mais rien à faire !
Malheureusement je ne m'y connait pas trop php bien que je suis en train d'apprendre !
Merci d'avance pour votre aide
Voila, enfaite j'ai récupérer un script qui était anglais !
Donc j'ai rencontré quelque problème avec l'encodage !
Et puis j'ai trouvé un fichier "include.php" qui dispose du code ci-dessous.
Qui je pense fait une auto translation de certain caractère, et donc ca me mange des caractères telle que le "é" qui devient donc invisible !
Donc j'ai essayé de supprimé ce bous de code, mais je rencontre des problèmes !
J'ai essayé de modifier quelque truk, mais rien à faire !
Malheureusement je ne m'y connait pas trop php bien que je suis en train d'apprendre !
Merci d'avance pour votre aide
<?php
setlocale(LC_ALL, 'en_US.UTF8');
function simpleCONV($str)
{
$ltrs = '';
$oldch = array("ö", "ç", "é", "ß", "i", "s", "I", "g");
$newch = array("o", "c", "e", "b", "i", "s", "I", "g");
$dorplc = str_replace($oldch, $newch, $str);
return $ltrs;
}
function clearUTF($s)
{
$r = '';
$s1 = iconv('UTF-8', 'ASCII//TRANSLIT', $s);
for ($i = 0; $i < strlen($s1); $i++)
{
$ch1 = $s1[$i];
$ch2 = mb_substr($s, $i, 1);
$r .= $ch1=='?'?$ch2:$ch1;
}
return $r;
}
function slug($string)
{
$string= strtolower(trim($string));
$string= substr('' .$string. '', 0, 40);
$string= preg_replace('/[^a-z0-9-]/', '-', $string);
$string= preg_replace('/-+/', "-", $string);
$string= substr_replace($string ,"",-1);
return $string;
}
?>
A voir également:
- Caractere speciaux invisible
- Caractère spéciaux - Guide
- Caractere speciaux - Guide
- Caractere speciaux mac - Guide
- Caractère ascii - Guide
- Clé usb invisible - Guide
2 réponses
Salut,
ton include ne contient que des déclarations de fonctions, il n'y a rien d'automatique.
Pour faire propre il faudrait que tu supprimes dans tout le site les appels à ces trois fonctions simpleCONV, clearUTF et slug. La plupart des éditeurs de code source proposent des outils de recherche/remplacement dans plusieurs fichiers à la fois (sous Notepad++, Ctrl+Maj+F).
Sinon tu peux te contenter de « neutraliser » ces fonctions comme ceci :
Par ailleurs, je ne sais pas où tu as eu ce script mais visiblement c'est du travail d'amateur : simpleCONV renvoie toujours une chaîne vide, et est censée remplacer "ß" par "b", ce qui est faux car ß est une lettre allemande, Eszett, qui est une variante de la lettre S.
;)
ton include ne contient que des déclarations de fonctions, il n'y a rien d'automatique.
Pour faire propre il faudrait que tu supprimes dans tout le site les appels à ces trois fonctions simpleCONV, clearUTF et slug. La plupart des éditeurs de code source proposent des outils de recherche/remplacement dans plusieurs fichiers à la fois (sous Notepad++, Ctrl+Maj+F).
Sinon tu peux te contenter de « neutraliser » ces fonctions comme ceci :
function simpleCONV($str)
{
return $str;
}
function clearUTF($s)
{
return $s;
}
function slug($string)
{
return $string;
}
Par ailleurs, je ne sais pas où tu as eu ce script mais visiblement c'est du travail d'amateur : simpleCONV renvoie toujours une chaîne vide, et est censée remplacer "ß" par "b", ce qui est faux car ß est une lettre allemande, Eszett, qui est une variante de la lettre S.
;)
Apatik
Messages postés
6040
Statut
Contributeur
782
J'ajouterai que si tu es en train d'apprendre, c'est pas ce qu'il y a de mieux que de récupérer des scripts déjà tout fait..