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

在Python中转义HTML的最简单方法是什么?

卞轶
2023-03-14
问题内容

cgi.escape似乎是一种可能的选择。它运作良好吗?有什么更好的东西吗?


问题答案:

cgi.escape很好 它逃脱了:

  • <&lt;
  • >&gt;
  • &&amp;

对于所有HTML而言,这就足够了。

编辑:如果您有非ASCII字符,您还想转义,以便包含在使用不同编码的另一个编码文档中,如 Craig 所说,只需使用:

data.encode('ascii', 'xmlcharrefreplace')

不要忘了解码dataunicode第一,使用任何编码它编码的。

但是根据我的经验,如果您unicode从头开始一直都在工作,那么这种编码是没有用的。只需在文档头中指定的编码末尾进行编码(utf-8以实现最大兼容性)。

例:

>>> cgi.escape(u'<a>bá</a>').encode('ascii', 'xmlcharrefreplace')
'&lt;a&gt;b&#225;&lt;/a&gt;

另外值得一提的(感谢Greg)是额外的 quote
参数cgi.escape。将其设置为Truecgi.escape还转义了双引号字符("),因此您可以在XML /
HTML属性中使用结果值。

编辑:请注意,cgi.escape已在Python3.2中弃用,转而使用html.escape,它的功能相同,但_quote_ 默认情况下为True。



 类似资料:
  • 问题内容: 反转此ArrayList的最简单方法是什么? 问题答案: 示例(参考):

  • 反转这个ArrayList的最简单方法是什么?

  • 问题内容: 假设下面的字符串模板被赋予了Java Bean对象的列表: 即人员列表中可能包含您可能无法或无法增强/扩展的对象: 该和方法不返回消毒(编码的HTML实体)。您如何解决这个问题? 问题答案: 您可以使用自定义渲染器,例如: 然后在模板中指示您希望其转义: 也就是说,您可能更喜欢清理输入的数据,在发送到模板之前进行转换,将经过装饰的人发送到模板等。 输出:

  • 问题内容: 在Python中做等效的最简单方法是什么? 问题答案:

  • 问题内容: 如何简单地从本地Python(3.0)脚本SSH到远程服务器,提供登录名/密码,执行命令并将输出打印到Python控制台? 我宁愿不使用任何大型外部库或在远程服务器上安装任何东西。 问题答案: 我没有尝试过,但是这个pysftp模块可能会有所帮助,而后者又使用了paramiko。我相信一切都在客户端。 有趣的命令可能是在远程计算机上执行任意命令。(该模块的功能和方法也更多地暗示了它的F

  • 我有一个问题,在javascript中,我们可以做如下操作 我们可以创建一个var,然后访问它。我想知道,如果javascript文件中有一些var,那么访问这个值的最简单方法是什么。 我想把它显示在网页上,例如: 是Jquery吗?或者还有更简单的? 谢谢:)