2010-02-10 3 views
2

Je suis confronté à un petit problème d'analyse de texte saisi au format HTML. A réussi à convertir les balises d'ouverture et de fermeture, etc., mais comment reconnaître la "ligne suivante (texte entré)" dans la zone de texte?Analyse des caractères spéciaux et conversion au format HTML (échappement des chaînes)

S'il vous plaît aider

<script type="text/javascript"> 

jQuery(function($) { 

    $('#submit').click(function() { 
    var htmlval = $('#textEntry').val(); 
    $('p.escape').text(htmlval); 
    $('p.escape').escapeHtml(); 
    }); 


}); 

(function($) { 


$.fn.escapeHtml = function() { 
    this.each(function() { 
     $(this).html(
      $(this).html() 
       .replace(/"/g,"&quot;") 
       .replace(/&/g,'&amp;') 
       .replace(/</g,'&lt;') 
       .replace(/>/g,'&gt;') 
       .replace(/'/g,'&apos;') 
     ); 
    }); 
    return $(this); 
} 

})(jQuery); 

</script> 

HTML est la suivante ..

<p class="escape"></p> 
<br> 
<textarea name="text" id="textEntry"></textarea><input type="submit" id="submit" value="submit" /> 

Répondre

3

Ne vous embêtez pas échapper au côté client texte, si quelqu'un était malveillant qu'ils cesseraient simplement le soumettre manuellement et contourner votre fantaisie javascript. Échappez du côté serveur de texte avant d'interagir avec la base de données.

2

il ya une fonction javascript intégrée!

$.fn.escapeHtml = function() { 
    return escape($(this)); 
} 

Note:escape() n'échappe pas à l'aide d'entités HTML. Il s'échappe en utilisant l'encodage en pourcentage, utilisé dans les URI. Donc, c'est différent de ce qui était demandé à l'origine.

Questions connexes