我想用数学出版物来呈现文本,偶尔我会得到像
这样的东西O(1/N_f) Corrections to the Thirring Model in 2<d<4<
最后一部分将被误解为html。我必须将此文本直接粘贴到允许html的网站上。我需要允许html的原因是我使用elasticsearch并且我想突出显示搜索结果(elasticsearch在文本中添加标签)。所以不能只是阻止html对文本的解释。
但是,我可以预处理文本以防止任何冲突。例如,使用
可以避免所有冲突text.replace('<', " < ")
在python中。然而,这远非最佳 它即使在不需要时也会引入空间 它只能解释数学符号和html之间的这种特殊碰撞 既然我认为我不是第一个遇到这种情况的人,我想知道这个问题是否有一般解决方案?
答案 0 :(得分:3)
使用xml.sax.saxutils.escape
功能:
import xml.sax.saxutils
escaped = xml.sax.saxutils.escape(text)
这将是Escape&#39;&#39;,&#39;&lt;&#;&#39;和&#39;&gt;&#39;在文本字符串中。
答案 1 :(得分:0)
HTML有几个具有特殊含义的字符(包括尖括号),并且通常也用ASCII表示,因此需要一种表示这些类型的特殊字符的好方法。
在HTML中,转义序列用于表示它们。例如,&
字符由命名的转义序列&
或数字转义序列&
表示。只有最常见的特殊字符才能命名转义序列。
这是一个good序列列表。