2010-03-06 12 views
3

Si vous copiez et collez le texte suivant dans une page html,Quel est le nom de ce type d'encodage?

انوان 

vous le texte arabe suivant:

ا ن و ا ن

Ma question est la suivante:

Quel est le nom de ce type de codage qui inclut des nombres et des hachages (#), et comment le décoder en PHP?

Répondre

8

Ce sont ... des entités HTML (ou "références de caractères numériques" pour les nitpickers).

Essayez html_entity_decode.

Exemple:

$foo = html_entity_decode('انوان'); 
// gives you the arabic words in $foo 

(Si la chaîne est sous la forme ا... vous devez appliquer html_entity_decode deux fois (je ne sais pas si la modification de codaddict est valide)..)

+0

wat pour le downvote? –

+0

Ce ne sont pas des entités. Seul * amp * est une entité mais '&' est une référence d'entité (elle fait référence à l'entité * amp *). Le reste n'est que des références de caractères (numériques). – Gumbo

3

Ces personnages sont connu sous le numéro HTML entities. Fondamentalement, ils sont une façon plus sûre de représenter des caractères tels que & et d'autres symboles qui pourraient avoir des significations en HTML. Tous les caractères ont une entité HTML correspondante.

Vous pouvez les décoder en PHP en utilisant html_entity_decode

0

Vous pouvez utiliser la fonction convert_uudecode() pour le décodage.

<?php 
echo convert_uudecode("+22!L;W9E(%!(4\"$`\n`"); //It prints I love PHP! 
echo "\n"; 
echo convert_uudecode('&#1575;&#1606;&#1608;&#1575;&#1606;'); //It prints WU± 
?> 
0

Pour utiliser la terminologie appropriée:

  • &amp; est une référence d'entité qui fait référence à l'entité nommée Ampères.
  • &#1575; est un référence de caractère qui fait référence au caractère U + 0627 (1575 en décimal) dans le jeu de caractères Unicode.

Les deux références sont character references car elles ne font référence qu'à des caractères uniques. Mais les entités peuvent également représenter plus qu'un simple caractère.