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

文本的HTML实体代码

叶德运
2023-03-14
问题内容

有谁知道Python中将HTML实体代码(例如&lt; &amp;)转换为普通字符串(例如<&)的简单方法吗?

cgi.escape()将转义字符串(差),但是没有unescape()


问题答案:

HTMLParser具有标准库中的功能。不幸的是,它没有文件记录:

(Python2文件)

>>> import HTMLParser
>>> h= HTMLParser.HTMLParser()
>>> h.unescape('alpha &lt; &beta;')
u'alpha < \u03b2'

(Python 3文件)

>>> import html.parser
>>> h = html.parser.HTMLParser()
>>> h.unescape('alpha &lt; &beta;')
'alpha < \u03b2'

htmlentitydefs已记录在案,但需要您自己做很多工作。

如果只需要XML预定义的实体(lt,gt,amp,quot,quot),则可以使用minidom来解析它们。如果只需要预定义的实体,而无需数字字符引用,则甚至可以使用简单的旧字符串替换来提高速度。



 类似资料:
  • 我有一个包含HTML实体的字符串(例如-加减符号)。 我怎样才能得到那些HTML实体解码成纯文本的字符串呢? 示例:

  • 问题内容: 如何使用JavaScript或JQuery编码和解码HTML实体? 我希望它是: 问题答案: 您可以尝试类似: 更具交互性的版本:

  • 问题内容: 我不确定这是否可能,但是我有一种情况,我想在HTML select标记的选项内将文本的 一部分 (不是全部)加粗。 我尝试使用b标签以及强标签,但没有运气(在Chrome上)。CSS可能会起作用,但是由于它在元素级别起作用,所以我不确定该怎么做。 有什么办法吗? 问题答案: 没有; 这是不可能的。 相反,您可以使用Javascript制作伪造的下拉列表。

  • 问题内容: 转换示例: 任何小的库函数都可以解决这个问题? 问题答案: 我经常在工具带上有这个小功能: 它将适用于所有HTML实体。 编辑: 由于您不在DOM环境中,我认为您将必须通过“艰苦”的方式做到这一点: 如果您不喜欢链式替换,则可以构建一个对象来存储您的实体,例如:

  • 主要内容:HTML 实体,不间断空格(Non-breaking Space),结合音标符,HTML字符实体HTML 中的预留字符必须被替换为字符实体。 一些在键盘上找不到的字符也可以使用字符实体来替换。 HTML 实体 在 HTML 中,某些字符是预留的。 在 HTML 中不能使用小于号(<)和大于号(>),这是因为浏览器会误认为它们是标签。 如果希望正确地显示预留字符,我们必须在 HTML 源代码中使用字符实体(character entities)。 字符实体类似这样: & entity_n

  • HTML 中的预留字符必须被替换为字符实体。 一些在键盘上找不到的字符也可以使用字符实体来替换。 HTML 实体 在 HTML 中,某些字符是预留的。 在 HTML 中不能使用小于号(<)和大于号(>),这是因为浏览器会误认为它们是标签。 如果希望正确地显示预留字符,我们必须在 HTML 源代码中使用字符实体(character entities)。 字符实体类似这样:&entity_name;