当前位置: 首页 > 面试题库 >

使用jQuery转义HTML字符串

甄越
2023-03-14
问题内容

有谁知道一种简单的方法来从jQuery的字符串中转义HTML
?我需要能够传递任意字符串并正确地对其进行转义以显示在HTML页面中(防止JavaScript /
HTML注入攻击)。我敢肯定可以扩展jQuery来做到这一点,但是目前我对框架还不了解。


问题答案:

由于您使用的是jQuery,因此只需设置元素的text属性即可:

// before:
// <div class="someClass">text</div>
var someHtmlString = "<script>alert('hi!');</script>";

// set a DIV's text:
$("div.someClass").text(someHtmlString);
// after: 
// <div class="someClass">&lt;script&gt;alert('hi!');&lt;/script&gt;</div>

// get the text in a string:
var escaped = $("<div>").text(someHtmlString).html();
// value: 
// &lt;script&gt;alert('hi!');&lt;/script&gt;


 类似资料:
  • 转义一个字符串,以用于HTML。 使用带有正则表达式的 String.replace() 来匹配需要转义的字符,使用一个回调函数使用字典(对象)替换每个字符为器关联的 HTML 实体字符。 const escapeHTML = str => str.replace( /[&<>'"]/g, tag => ({ '&': '&amp;',

  • 反转义 HTML 字符。 使用带有正则表达式的 String.replace() 来匹配需要被转义的字符,使用一个回调函数使用字典(对象)替换每个 HTML 实体字符为其关联的非转义字符。 const unescapeHTML = str => str.replace( /&amp;|&lt;|&gt;|'|&quot;/g, tag => ({ '

  • 问题内容: 我在使用jQuery 解析HTML字符串时问我如何在html字符串上使用jQuery。一切正常,但是当我将其应用于ajax时-它不起作用。这是代码。 moo.html包含 如何获得斑马纹和杠铃? 问题答案: 我认为其中的换行符可能会让您失望。 html中的所有换行符最终都将由jQuery解析并保留为文本节点元素。结果,当这些节点中的第一个被命中并调用时,它将停止迭代(不适用于非Elem

  • 在 MySQL 中,除了常见的字符之外,我们还会遇到一些特殊的字符,如换行符、回车符等。这些符号无法用字符来表示,因此需要使用某些特殊的字符来表示特殊的含义,这些字符就是转义字符。 转义字符一般以反斜杠符号 开头,用来说明后面的字符不是字符本身的含义,而是表示其它的含义。MySQL 中常见的转义字符如下表所示。 转义字符 转义后的字符 \" 双引号(") \' 单引号(') \\ 反斜线(\) \

  • 问题内容: 我有一个Java应用程序,该应用程序大量使用大文件来读取,处理和传递给SolrEmbeddedServer(http://lucene.apache.org/solr/)。 其中一个功能可以进行基本的HTML转义: 在对应用程序进行性能分析时,程序在此功能上花费大约58%的时间,总共47%的时间用于替换,而11%的时间用于replaceAll。 现在,是用Java替换程序速度这么慢吗?

  • 问题内容: 它们是否与XML相同,也许还要加上空格()? 我发现的HTML转义字符一些大名单,但我不认为他们 必须 进行转义。我想知道 需要 逃避什么。 问题答案: 如果你在文本内容预期的位置在文档中插入文本内容1,你通常只需要,你会在XML逃脱相同的字符。在元素内部,这仅包括实体转义与号和元素定界符小于和大于符号 : 在属性值内部,还必须转义使用的引号字符: 在某些情况下,跳过这些字符中的某些字