Php : encode/decodage de caractères ascii ver

hdh Messages postés 10 Statut Membre -  
hdh Messages postés 10 Statut Membre -
Hello
Je sèche sur un problème d'encodage : un fichier txt m'est fourni avec des caractères ascii (exemple é) je voudrais parser le contenu de ce fichier pour remplacer tous les caractères ascii en entités html (dans mon exemple remplacer les é par des &ecute;).
je ne trouve pas la solution pour ascii bien que j'y arrive dans d'autres format/entités

Code PHP :

print "<hr>".htmlentities("é", ENT_QUOTES, "UTF-8")."\n"; // é
print "<hr>".htmlentities("é")."\n"; // é



ca n'a pas bien l'air complexe pourtant ???

au grand plaisir de vous lire et d'apprendre de vous !
H






le temps n'épargne pas ce que l'ont fait sans lui.. le php non plus

A voir également:

4 réponses

Zep3k!GnO Messages postés 2049 Statut Membre 200
 
print "<hr>".htmlentities("é")."\n"; // é 


Quand tu dis que ça t'affiches é, c'est normal car je suppose que tu regardes ça avec ton navigateur, donc ce dernier interprète l'entité html & eacute; pour te l'afficher. --> Affiches la source et tu verras l'entité.

Sinon fais un :
file_put_contents("./log_test.txt", htmlentities("é"))


Tu le verra dans le contenu du fichier !
0
hdh Messages postés 10 Statut Membre
 
bonjour
merci pour ta réponse : mon post est mal passé (mes caractères ont été réencodés) :-)


Hello
Je sèche sur un problème d'encodage : un fichier txt m'est fourni avec des caractères ascii (exemple "& # 2 3 3 ;" ) je voudrais parser le contenu de ce fichier pour remplacer tous les caractères ascii en entités html (dans mon exemple remplacer les "& # 2 3 3 ;" par des &ecute;).
je ne trouve pas la solution pour ascii bien que j'y arrive dans d'autres format/entités
print "<hr>".htmlentities("é", ENT_QUOTES, "UTF-8")."\n"; // é
print "<hr>".htmlentities("é")."\n"; // é



c'est bien en effet qd j'affiche le code source que je continue à voir
0
le père
 
Bonjour

L'astuce est d'utiliser html_entity_decode pour transformer ton codage numérique en caractères simples, puis htmlentities pour retrouver les entités HTML nommées.

$a="&#0233;&#0234;&#0235;&#0236;";
$b=htmlentities(html_entity_decode($a,ENT_NOQUOTES,'UTF-8'),ENT_NOQUOTES,'UTF-8');

Utilise l'UTF-8 comme encodage intermédiaire, sinon, si ton texte contient des caractères dont le code est supérieur à &# 255; ils ne pourront pas être traduits
0
hdh Messages postés 10 Statut Membre
 
merci pour ta réponse : ca fonctionne impec .. en php5 car en php4 j'obtiens
Warning: cannot yet handle MBCS in html_entity_decode()! in xxxx
et le résultat affiché est
éêëì


très cool, merci pour ton aide aussi rapide qu'efficace ;-)
re-merci !
H
0