Parser les caractères html d'une string

Contenu du snippet

Bon, c'est assez dommage que j'arrive ici avec un si petit code d'autant plus évident. Néanmoins, je ne le trouvais pas sur Internet, alors je l'ai fait moi-même. On n'est mieux servi que par soi.

C'est donc très simple, c'est une fonction qui convertit les caractères HTML spéciaux en leurs entités ( &#NOMBRE; )

Cela n'a aucune prétention, cela fonctionne avec un RegExp et une boucle. J'imagine que j'aurais très bien pu ajouter d'autres caractères dans la liste des caractères autorisés, mais je préférais convertir des "gentils" que de laisser passer des "méchants". Les caractères suivants sont donc exemptés :

A-Z (MAJ/min) 0-9 _ - ( ) [ ] ? ! * % : ; . , ' et tous les caractères d'espacement/échappement.

Voici la syntaxe :

String html_encode(String texte);

NOTE : La fonction est faite pour convertir les caractères spéciaux dans du TEXTE, et non dans du CODE HTML. Si vous souhaitez que je réalise une fonction pour le deuxième point, merci de me l'indiquer dans les commentaires

Source / Exemple :


function html_encode(txt) {
	var reg = /^[\w-\/()\[\]?!*%:;.,'\s]+$/i;
	var s = "";
	var l = txt.length;
	for (var i = 0; i < l; i++) {
		var tn = txt[i];
		if (!reg.test(tn)) {
			s += "&#" + tn.charCodeAt(0) + ";";
		} else {
			s += tn;
		}
	}
	return s;
}
// Exemple
document.write(html_encode("Allô moi-même !"));

Conclusion :


À quiconque à qui ce sera utile !

A voir également

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.