我正在使用JavaScript从隐藏字段中提取值并将其显示在文本框中.隐藏字段中的值已编码.
例如,
<input id='hiddenId' type='hidden' value='chalk & cheese' />
Run Code Online (Sandbox Code Playgroud)
被拉进去
<input type='text' value='chalk & cheese' />
Run Code Online (Sandbox Code Playgroud)
通过一些jQuery从隐藏字段中获取值(此时我丢失了编码):
$('#hiddenId').attr('value')
Run Code Online (Sandbox Code Playgroud)
问题是,当我chalk & cheese从隐藏字段中读取时,JavaScript似乎失去了编码.为了逃避chalk & cheese和amp;,我想编码保留.
是否有一个JavaScript库或jQuery方法将对字符串进行HTML编码?
我想通过javascript函数向HTML显示文本.如何在JS中转义html特殊字符?有API吗?
如何在C#中转义html使用的文本?我想要做
sample="<span>blah<span>"
Run Code Online (Sandbox Code Playgroud)
并有
<span>blah<span>
Run Code Online (Sandbox Code Playgroud)
显示为纯文本而不是blah只与html的标签部分:(.使用C#而不是ASP
最近我看到了很多这样的事情:
<a href='http://widget-site-example.com/example.html'>
<img src='http://widget-site-example.com/ross.jpg' alt='Ross's Widget' />
</a>
Run Code Online (Sandbox Code Playgroud)
在HTML中使用单引号是否有效?正如我在上面强调的那样,它也存在问题,因为你必须逃避撇号.
我正在寻找一个用JavaScript编写的简单HTML清理程序.它不需要100%XSS安全.
我正在我的网站上实现Markdown和WMD Markdown编辑器(来自github的SO主分支).问题是,实时预览中显示的HTML不会被过滤,就像在SO上一样.我正在寻找一个用JavaScript编写的简单/快速HTML清理程序,以便我可以过滤预览窗口的内容.
无需具有完整XSS保护的完整解析器.我不是将输出发送回服务器.在将结果存储到数据库之前,我将Markdown发送到我使用正确的完整HTML清理程序的服务器.
谷歌对我来说绝对没用.我只收到数百条(通常是不正确的)文章,介绍如何从各种服务器端语言的用户生成的HTML中过滤掉javascript.
UPDATE
我会更好地解释为什么我需要这个.我的网站有一个非常类似于StackOverflow上的编辑器.有一个文本区域可以输入MarkDown语法,下面有一个预览窗口,可以显示提交后它的样子.
当用户提交某些内容时,它将以MarkDown格式发送到服务器.服务器将其转换为HTML,然后在其上运行HTML清理程序以清理HTML.MarkDown允许任意HTML,所以我需要清理它.例如,用户输入如下内容:
<script>alert('Boo!');</script>
Run Code Online (Sandbox Code Playgroud)
MarkDown转换器不会触及它,因为它是HTML.HTML清理程序将删除它,以便脚本元素消失.
但这不是预览窗口中发生的情况.预览窗口仅将MarkDown转换为HTML,但不会对其进行清理.因此,预览窗口将具有脚本元素.这意味着预览窗口与服务器上的实际呈现不同.
我想解决这个问题,所以我需要一个快速而又脏的JavaScript HTML清理程序.使用基本元素/属性黑名单和白名单的简单方法就可以了.它不需要是XSS安全的,因为XSS保护是由服务器端的HTML清理程序完成的.
这只是为了确保预览窗口在99.99%的时间内与实际渲染相匹配,这对我来说已经足够了.
你能帮我吗?提前致谢!
我是否需要在html属性值中转义引号?允许哪些字符?
这有效吗?
<span title="This is a 'good' title.">Hi</span>
Run Code Online (Sandbox Code Playgroud) 化妆品问题:我有一个html元素,其中包含一些嵌入图像的可能尺寸,这些元素存储为:
<div class="inside" data-dimensions='{ "s-x": 213, "s-y": 160, "m-x": ...
Run Code Online (Sandbox Code Playgroud)
我得到了数据维度,并使用jQuery.parseJSON(jQuery.data("维度"))进行解析,并且非常接近jquery的doc.
但是我习惯用双引号封装我的所有html属性:
<div class="inside" data-dimensions="{ 's-x': 213, 's-y': 160, 'm-x': ...
Run Code Online (Sandbox Code Playgroud)
但后来我得到了格式错误的json异常.有没有办法让我能遵守自己强加的"双引用html属性"法律?
我正在使用 Python 3.5.2 和 Django 1.10。
\n\n我已收到法语翻译 .po 文件,并且可以运行compilemessages 命令而不会收到任何错误。
\n\n但是,当我运行该网站时,许多页面拒绝加载。
\n\n我怀疑这是因为法语翻译 .po 文件在翻译字符串中包含许多单引号 (\')。
\n\n例如,
\n\n#: .\\core\\constants\\address_country_style_types.py:274\nmsgid "Ascension Island"\nmsgstr "\xc3\x8ele de l\'Ascension"\nRun Code Online (Sandbox Code Playgroud)\n\n我记得在某处读过(但在任何地方都找不到该引用)单引号前面必须有一个正斜杠或反斜杠。所以我尝试了,但是当我运行compilemessage命令时,我收到一条错误消息:
\n\nC:\\Users\\me\\desktop\\myapp\\myapp\\locale\\fr\\LC_MESSAGES\\django.po:423:18: invalid control sequence\nRun Code Online (Sandbox Code Playgroud)\n\n那么如何避免字符串中的法语单引号问题呢?
\n\n这是我的法语 .po 文件的标头:
\n\n# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE PACKAGE\'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the PACKAGE package.\n# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.\n#\nmsgid ""\nmsgstr ""\n"Project-Id-Version: PACKAGE VERSION\\n"\n"Report-Msgid-Bugs-To: \\n"\n"POT-Creation-Date: 2017-05-04 12:55+1000\\n"\n"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\\n"\n"Last-Translator: FULL NAME …Run Code Online (Sandbox Code Playgroud) 我有ruby on rails程序在我的本地系统中运行并且我使用了html_safe标签,现在& '不存在于FF,chrome但仅存在于IE 8中
是否有任何字符用HTML编码而不是XML编码,反之亦然?
他们之间的所有编码是否相同?喜欢> 大于符号?
我怎么能编码"成"和'成'?
我很惊讶单引号和双引号没有在HTML实体4.0中定义,因此StringEscapeUtils无法将这2个字符转义为相应的实体.
还有其他与字符串相关的工具能够做到这一点吗?
HTML实体4.0中没有定义单引号和双引号的原因吗?
除了单引号和双引号之外,是否有任何框架能够将所有unicode字符编码为相应的实体?由于所有的unicode都可以手动转换为十进制实体并以HTML格式显示,所以有什么工具可以自动转换它?
html ×8
javascript ×3
escaping ×2
jquery ×2
apostrophe ×1
c# ×1
coding-style ×1
django ×1
html5 ×1
java ×1
json ×1
python ×1
syntax ×1
translation ×1
wmd ×1
xml ×1