Convertisseur entités html

Soyez le premier à donner votre avis sur cette source.

Snippet vu 13 012 fois - Téléchargée 29 fois

Contenu du snippet

Voici un petit code javascript qui va convertir son argument en un texte avec entités HTML, eg. pour un espace. Ce code existe probablement déjà, mais je ne l'ai pas trouvé. Voici pourquoi je le poste.

Source / Exemple :


function convertirHTML(texte, sens)
{
	if(sens == 1)
	{
		// le remplacement de l'argument texte	  DEC HEX 
		texte = texte.replace(/\"/g,'"');	// 34 22
		texte = texte.replace(/&/g,'&');		// 38 26
		texte = texte.replace(/\'/g,''');	// 39 27
		texte = texte.replace(/</g,'<');		// 60 3C
		texte = texte.replace(/>/g,'>');		// 62 3E
		texte = texte.replace(/^/g,'&circ;');	// 94 5E
		texte = texte.replace(/?/g,'&lsquo;');	// 145 91
		texte = texte.replace(/?/g,'&rsquo;');	// 146 92
		texte = texte.replace(/?/g,'&ldquo;');	// 147 93
		texte = texte.replace(/?/g,'&rdquo;');	// 148 94
		texte = texte.replace(/?/g,'&bull;');	// 149 95
		texte = texte.replace(/?/g,'&ndash;');	// 150 96
		texte = texte.replace(/?/g,'&mdash;');	// 151 97
		texte = texte.replace(/?/g,'&tilde;');	// 152 98
		texte = texte.replace(/?/g,'&trade;');	// 153 99
		texte = texte.replace(/?/g,'&scaron;');	// 154 9A
		texte = texte.replace(/?/g,'&rsaquo;');	// 155 9B
		texte = texte.replace(/?/g,'&oelig;');	// 156 9C
		texte = texte.replace(//g,'&#357;');	// 157 9D
		texte = texte.replace(/?/g,'&#382;');	// 158 9E
		texte = texte.replace(/?/g,'&Yuml;');	// 159 9F
		texte = texte.replace(/ /g,'&nbsp;');	// 160 A0 
		texte = texte.replace(/¡/g,'¡');	// 161 A1
		texte = texte.replace(/¢/g,'¢');	// 162 A2
		texte = texte.replace(/£/g,'£');	// 163 A3
		texte = texte.replace(/¤/g,'¤');	// 164 A4
		texte = texte.replace(/¥/g,'¥');		// 165 A5
		texte = texte.replace(/¦/g,'¦');	// 166 A6
		texte = texte.replace(/§/g,'§');	// 167 A7
		texte = texte.replace(/¨/g,'¨');		// 168 A8
		texte = texte.replace(/©/g,'©');	// 169 A9
		texte = texte.replace(/ª/g,'ª');	// 170 AA
		texte = texte.replace(/«/g,'«');	// 171 AB
		texte = texte.replace(/¬/g,'¬');		// 172 AC
		texte = texte.replace(/­/g,'­');		// 173 AD
		texte = texte.replace(/®/g,'®');		// 174 AE
		texte = texte.replace(/¯/g,'¯');	// 175 AF
		texte = texte.replace(/°/g,'°');		// 176 B0
		texte = texte.replace(/?/g,'±');	// 177 B1
		texte = texte.replace(/²/g,'²');	// 178 B2
		texte = texte.replace(/³/g,'³');	// 179 B3
		texte = texte.replace(/´/g,'´');	// 180 B4
		texte = texte.replace(/µ/g,'µ');	// 181 B5
		texte = texte.replace(/¶/g,'&para');		// 182 B6
		texte = texte.replace(/·/g,'·');	// 183 B7
		texte = texte.replace(/¸/g,'¸');	// 184 B8
		texte = texte.replace(/¹/g,'¹');	// 185 B9
		texte = texte.replace(/º/g,'º');	// 186 BA
		texte = texte.replace(/»/g,'»');	// 187 BB
		texte = texte.replace(/¼/g,'¼');	// 188 BC
		texte = texte.replace(/½/g,'½');	// 189 BD
		texte = texte.replace(/¾/g,'¾');	// 190 BE
		texte = texte.replace(/¿/g,'¿');	// 191 BF
		texte = texte.replace(/À/g,'À');	// 192 C0
		texte = texte.replace(/Á/g,'Á');	// 193 C1
		texte = texte.replace(/Â/g,'Â');	// 194 C2
		texte = texte.replace(/Ã/g,'Ã');	// 195 C3
		texte = texte.replace(/Ä/g,'Ä');	// 196 C4
		texte = texte.replace(/Å/g,'Å');	// 197 C5
		texte = texte.replace(/Æ/g,'Æ');	// 198 C6
		texte = texte.replace(/Ç/g,'Ç');	// 199 C7
		texte = texte.replace(/È/g,'È');	// 200 C8
		texte = texte.replace(/É/g,'É');	// 201 C9
		texte = texte.replace(/Ê/g,'Ê');	// 202 CA
		texte = texte.replace(/Ë/g,'Ë');	// 203 CB
		texte = texte.replace(/Ì/g,'Ì');	// 204 CC
		texte = texte.replace(/Í/g,'Í');	// 205 CD
		texte = texte.replace(/Î/g,'Î');	// 206 CE
		texte = texte.replace(/Ï/g,'Ï');	// 207 CF
		texte = texte.replace(/Ð/g,'Ð');		// 208 D0
		texte = texte.replace(/Ñ/g,'Ñ');	// 209 D1
		texte = texte.replace(/Ò/g,'Ò');	// 210 D2
		texte = texte.replace(/Ó/g,'Ó');	// 211 D3
		texte = texte.replace(/Ô/g,'Ô');	// 212 D4
		texte = texte.replace(/Õ/g,'Õ');	// 213 D5
		texte = texte.replace(/Ö/g,'Ö');	// 214 D6
		texte = texte.replace(/×/g,'×');	// 215 D7
		texte = texte.replace(/Ø/g,'Ø');	// 216 D8
		texte = texte.replace(/Ù/g,'Ù');	// 217 D9
		texte = texte.replace(/Ú/g,'Ú');	// 218 DA
		texte = texte.replace(/Û/g,'Û');	// 219 DB
		texte = texte.replace(/Ü/g,'Ü');	// 220 DC
		texte = texte.replace(/Ý/g,'Ý');	// 221 DD
		texte = texte.replace(/Þ/g,'Þ');	// 222 DE
		texte = texte.replace(/ß/g,'ß');	// 223 DF
		texte = texte.replace(/à/g,'á');	// 224 E0
		texte = texte.replace(/á/g,'á');	// 225 E1
		texte = texte.replace(/â/g,'â');	// 226 E2
		texte = texte.replace(/ã/g,'ã');	// 227 E3
		texte = texte.replace(/ä/g,'ä');	// 228 E4
		texte = texte.replace(/å/g,'å');	// 229 E5
		texte = texte.replace(/æ/g,'æ');	// 230 E6
		texte = texte.replace(/ç/g,'ç');	// 231 E7
		texte = texte.replace(/è/g,'è');	// 232 E8
		texte = texte.replace(/é/g,'é');	// 233 E9
		texte = texte.replace(/ê/g,'ê');	// 234 EA
		texte = texte.replace(/ë/g,'ë');	// 235 EB
		texte = texte.replace(/ì/g,'ì');	// 236 EC
		texte = texte.replace(/í/g,'í');	// 237 ED
		texte = texte.replace(/î/g,'î');	// 238 EE
		texte = texte.replace(/ï/g,'ï');	// 239 EF
		texte = texte.replace(/ð/g,'ð');		// 240 F0
		texte = texte.replace(/ñ/g,'ñ');	// 241 F1
		texte = texte.replace(/ò/g,'ò');	// 242 F2
		texte = texte.replace(/ó/g,'ó');	// 243 F3
		texte = texte.replace(/ô/g,'ô');	// 244 F4
		texte = texte.replace(/õ/g,'õ');	// 245 F5
		texte = texte.replace(/ö/g,'ö');	// 246 F6
		texte = texte.replace(/÷/g,'÷');	// 247 F7
		texte = texte.replace(/ø/g,'ø');	// 248 F8
		texte = texte.replace(/ù/g,'ù');	// 249 F9
		texte = texte.replace(/ú/g,'ú');	// 250 FA
		texte = texte.replace(/û/g,'û');	// 251 FB
		texte = texte.replace(/ü/g,'ü');	// 252 FC
		texte = texte.replace(/ý/g,'ý');	// 253 FD
		texte = texte.replace(/þ/g,'þ');	// 254 FE
		texte = texte.replace(/ÿ/g,'ÿ');	// 255 FF
	}
	else
	{
		texte = texte.replace(/&quot;/g,'\"');	// 34 22
		texte = texte.replace(/&amp;/g,'&');		// 38 26
		texte = texte.replace(/&#39;/g,'\'');	// 39 27
		texte = texte.replace(/</g,'<');		// 60 3C
		texte = texte.replace(/>/g,'>');		// 62 3E
		texte = texte.replace(/&circ;/g,'^');	// 94 5E
		texte = texte.replace(/&lsquo;/g,'?');	// 145 91
		texte = texte.replace(/&rsquo;/g,'?');	// 146 92
		texte = texte.replace(/&ldquo;/g,'?');	// 147 93
		texte = texte.replace(/&rdquo;/g,'?');	// 148 94
		texte = texte.replace(/&bull;/g,'?');	// 149 95
		texte = texte.replace(/&ndash;/g,'?');	// 150 96
		texte = texte.replace(/&mdash;/g,'?');	// 151 97
		texte = texte.replace(/&tilde;/g,'?');	// 152 98
		texte = texte.replace(/&trade;/g,'?');	// 153 99
		texte = texte.replace(/&scaron;/g,'?');	// 154 9A
		texte = texte.replace(/&rsaquo;/g,'?');	// 155 9B
		texte = texte.replace(/&oelig;/g,'?');	// 156 9C
		texte = texte.replace(/&#357;/g,'');	// 157 9D
		texte = texte.replace(/&#382;/g,'?');	// 158 9E
		texte = texte.replace(/&Yuml;/g,'?');	// 159 9F
		texte = texte.replace(/&nbsp;/g,' ');	// 160 A0 
		texte = texte.replace(/¡/g,'¡');	// 161 A1
		texte = texte.replace(/¢/g,'¢');	// 162 A2
		texte = texte.replace(/£/g,'£');	// 163 A3
		texte = texte.replace(/¤/g,'¤');	// 164 A4
		texte = texte.replace(/¥/g,'¥');		// 165 A5
		texte = texte.replace(/¦/g,'¦');	// 166 A6
		texte = texte.replace(/§/g,'§');	// 167 A7
		texte = texte.replace(/¨/g,'¨');		// 168 A8
		texte = texte.replace(/©/g,'©');	// 169 A9
		texte = texte.replace(/ª/g,'ª');	// 170 AA
		texte = texte.replace(/«/g,'«');	// 171 AB
		texte = texte.replace(/¬/g,'¬');		// 172 AC
		texte = texte.replace(/­/g,'­');		// 173 AD
		texte = texte.replace(/®/g,'®');		// 174 AE
		texte = texte.replace(/¯/g,'¯');	// 175 AF
		texte = texte.replace(/°/g,'°');		// 176 B0
		texte = texte.replace(/±/g,'?');	// 177 B1
		texte = texte.replace(/²/g,'²');	// 178 B2
		texte = texte.replace(/³/g,'³');	// 179 B3
		texte = texte.replace(/´/g,'´');	// 180 B4
		texte = texte.replace(/µ/g,'µ');	// 181 B5
		texte = texte.replace(/&para/g,'¶');		// 182 B6
		texte = texte.replace(/·/g,'·');	// 183 B7
		texte = texte.replace(/¸/g,'¸');	// 184 B8
		texte = texte.replace(/¹/g,'¹');	// 185 B9
		texte = texte.replace(/º/g,'º');	// 186 BA
		texte = texte.replace(/»/g,'»');	// 187 BB
		texte = texte.replace(/¼/g,'¼');	// 188 BC
		texte = texte.replace(/½/g,'½');	// 189 BD
		texte = texte.replace(/¾/g,'¾');	// 190 BE
		texte = texte.replace(/¿/g,'¿');	// 191 BF
		texte = texte.replace(/À/g,'À');	// 192 C0
		texte = texte.replace(/Á/g,'Á');	// 193 C1
		texte = texte.replace(/Â/g,'Â');	// 194 C2
		texte = texte.replace(/Ã/g,'Ã');	// 195 C3
		texte = texte.replace(/Ä/g,'Ä');	// 196 C4
		texte = texte.replace(/Å/g,'Å');	// 197 C5
		texte = texte.replace(/Æ/g,'Æ');	// 198 C6
		texte = texte.replace(/Ç/g,'Ç');	// 199 C7
		texte = texte.replace(/È/g,'È');	// 200 C8
		texte = texte.replace(/É/g,'É');	// 201 C9
		texte = texte.replace(/Ê/g,'Ê');	// 202 CA
		texte = texte.replace(/Ë/g,'Ë');	// 203 CB
		texte = texte.replace(/Ì/g,'Ì');	// 204 CC
		texte = texte.replace(/Í/g,'Í');	// 205 CD
		texte = texte.replace(/Î/g,'Î');	// 206 CE
		texte = texte.replace(/Ï/g,'Ï');	// 207 CF
		texte = texte.replace(/Ð/g,'Ð');		// 208 D0
		texte = texte.replace(/Ñ/g,'Ñ');	// 209 D1
		texte = texte.replace(/Ò/g,'Ò');	// 210 D2
		texte = texte.replace(/Ó/g,'Ó');	// 211 D3
		texte = texte.replace(/Ô/g,'Ô');	// 212 D4
		texte = texte.replace(/Õ/g,'Õ');	// 213 D5
		texte = texte.replace(/Ö/g,'Ö');	// 214 D6
		texte = texte.replace(/×/g,'×');	// 215 D7
		texte = texte.replace(/Ø/g,'Ø');	// 216 D8
		texte = texte.replace(/Ù/g,'Ù');	// 217 D9
		texte = texte.replace(/Ú/g,'Ú');	// 218 DA
		texte = texte.replace(/Û/g,'Û');	// 219 DB
		texte = texte.replace(/Ü/g,'Ü');	// 220 DC
		texte = texte.replace(/Ý/g,'Ý');	// 221 DD
		texte = texte.replace(/Þ/g,'Þ');	// 222 DE
		texte = texte.replace(/ß/g,'ß');	// 223 DF
		texte = texte.replace(/á/g,'à');	// 224 E0
		texte = texte.replace(/á/g,'á');	// 225 E1
		texte = texte.replace(/â/g,'â');	// 226 E2
		texte = texte.replace(/ã/g,'ã');	// 227 E3
		texte = texte.replace(/ä/g,'ä');	// 228 E4
		texte = texte.replace(/å/g,'å');	// 229 E5
		texte = texte.replace(/æ/g,'æ');	// 230 E6
		texte = texte.replace(/ç/g,'ç');	// 231 E7
		texte = texte.replace(/è/g,'è');	// 232 E8
		texte = texte.replace(/é/g,'é');	// 233 E9
		texte = texte.replace(/ê/g,'ê');	// 234 EA
		texte = texte.replace(/ë/g,'ë');	// 235 EB
		texte = texte.replace(/ì/g,'ì');	// 236 EC
		texte = texte.replace(/í/g,'í');	// 237 ED
		texte = texte.replace(/î/g,'î');	// 238 EE
		texte = texte.replace(/ï/g,'ï');	// 239 EF
		texte = texte.replace(/ð/g,'ð');		// 240 F0
		texte = texte.replace(/ñ/g,'ñ');	// 241 F1
		texte = texte.replace(/ò/g,'ò');	// 242 F2
		texte = texte.replace(/ó/g,'ó');	// 243 F3
		texte = texte.replace(/ô/g,'ô');	// 244 F4
		texte = texte.replace(/õ/g,'õ');	// 245 F5
		texte = texte.replace(/ö/g,'ö');	// 246 F6
		texte = texte.replace(/÷/g,'÷');	// 247 F7
		texte = texte.replace(/ø/g,'ø');	// 248 F8
		texte = texte.replace(/ù/g,'ù');	// 249 F9
		texte = texte.replace(/ú/g,'ú');	// 250 FA
		texte = texte.replace(/û/g,'û');	// 251 FB
		texte = texte.replace(/ü/g,'ü');	// 252 FC
		texte = texte.replace(/ý/g,'ý');	// 253 FD
		texte = texte.replace(/þ/g,'þ');	// 254 FE
		texte = texte.replace(/ÿ/g,'ÿ');	// 255 FF
	}
	return texte;
}

Conclusion :


Cette fonction s'appelle par
var chainePropre = convertirHTML( chaineSale, 1); //code vers des entites HTML
var chainePropre = convertirHTML( chaineSale, 0); // decode depuis les entites HTML
Voilà !

C'est la nouvelle version.

A voir également

Ajouter un commentaire Commentaires
Messages postés
146
Date d'inscription
vendredi 28 mai 2010
Statut
Membre
Dernière intervention
21 juillet 2013
3
Erreur Quantificateur inattendu; ligne 13; Caratère 26; code 0: Erreur fatale !
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
salut
tu crois pas qu'une boucle serait la bien venue ? (et cette fonction existe surement...)
Messages postés
108
Date d'inscription
lundi 21 novembre 2005
Statut
Membre
Dernière intervention
30 avril 2008

super interréssant,
mais un fichier zip serait le bien venu!
et un fichier complet.

exellent travail , mais il ne marche pas(du moin avec moi)!
et pourquoi ne pas rentrer le fichier à modifier par des champs? [text]

Cordialement frv !

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (Thralia)