解析特殊字符并转换为HTML(转义字符串)
问题描述:
我面临解析HTML格式输入文本的小问题。成功转换开放和关闭标签等,但我如何识别文本区域中的“下一行(输入的文本)”?解析特殊字符并转换为HTML(转义字符串)
请帮
<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,""")
.replace(/&/g,'&')
.replace(/</g,'<')
.replace(/>/g,'>')
.replace(/'/g,''')
);
});
return $(this);
}
})(jQuery);
</script>
HTML如下:..
<p class="escape"></p>
<br>
<textarea name="text" id="textEntry"></textarea><input type="submit" id="submit" value="submit" />
答
不要刻意逃避文本的客户端,如果有人被人恶意他们只会手动提交它,并绕过花哨的JavaScript。在与数据库进行交互之前,将文本服务器端转义。
答
有一个JavaScript函数内置的权利!
$.fn.escapeHtml = function() {
return escape($(this));
}
注:escape()
不越狱使用HTML实体。它使用百分比编码转义,正如URI中所使用的。所以它与最初要求的不同。