Convertir le texte en HTML et HTML en texte (Unicode) JQuery JavaScript

Souvent qu'on est confronté (embêté même je dirais) par les caractères accentués , les guillemets , les supérieur et inférieur et d autres   lors de l affichage des pages web . Vue qu'on est dans le contexte d'un navigateur internet et dans les DOM ; la manière la plus simple est de faire la conversion du texte vers l'HTML et de l'HTML vers le texte directement en JavaScript   .

en voici donc quelques fonctions qui vont nous permettre de réaliser cette tache  :

Texte vers l'HTML    (Unicode)

function toHtmlEntities(str){
  var uText="";
  if(str) { 
    for (var i=0; i<str.length; i++) {
    cCode  =  str.charCodeAt(i);
    uText +=(  cCode==34||cCode==44||
               cCode==60||cCode==62||
               cCode>127)?"&#"
               cCode + ";"  :  str[i];
   }
 }
return uText;
 }

Cette fonction on pourra donc l appeler comme suit :
  toHtmlEntities("été") ;  ce qui donne      &#233;t&#233;
  toHtmlEntities("<span>français</span>");ce qui donne  &#60;span&#62;fran&#231;ais&#60;/span&#62;

HTML vers Texte 

pour ça laissons le navigateur faire la conversion simplement 

function toText(str){
      var sText="";
if (str) {
                  //on crée un élément div 
 var oDiv = document.createElement("DIV");
                  //on lui assigne sa valeur HTML comme str 
oDiv.innerHTML = str;
               // on récupère la valeur texte de l élément crée 
sText= oDiv.innerText || oDiv.firstChild.nodeValue;
}
return sText;
}

Et bien sure si vous avez JQuery inclut dans la page cette fonction se résumera comme suit 
 
function toText(str){
     //on crée un élément input avec le paramètre comme  valeur puis on renvoie  valeur  de cette element
     return str ? $("<input value='"+str+"'/>").val() : "";
}

Cette fonction on pourra   l'appeler comme suit :
  toHtmlEntities("&#233;t&#233") ;  ce qui donne      été;
  toHtmlEntities("&#60;span&#62;fran&#231;ais&#60/span&#62;") ;ce qui donne  <span>français</span>





0 commentaires:

Enregistrer un commentaire