我在解析以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" />
答案 0 :(得分:3)
不要费心逃避文本客户端,如果有人是恶意的,他们只会手动提交它并绕过你喜欢的javascript。在与数据库交互之前,请转义文本服务器端。
答案 1 :(得分:2)
内置了一个javascript函数!
$.fn.escapeHtml = function() {
return escape( $(this) );
}
注意: escape()
不会使用HTML实体转义。它使用在URI中使用的百分比编码来逃避。所以它与最初要求的不同。