#!/usr/bin/env python3""" Utility for parsing HTML entity definitions available from:http://www.w3.org/ as e.g.http://www.w3.org/TR/REC-html40/HTMLlat1.entInput is read from stdin, output is written to stdout in form of aPython snippet defining a dictionary "entitydefs" mapping literalentity name to character or numeric entity.Marc-Andre Lemburg, mal@lemburg.com, 1999.Use as you like. NO WARRANTIES."""import re,sysentityRE = re.compile(r'<!ENTITY +(\w+) +CDATA +"([^"]+)" +-- +((?:.|\n)+?) *-->')def parse(text,pos=0,endpos=None):pos = 0if endpos is None:endpos = len(text)d = {}while 1:m = entityRE.search(text,pos,endpos)if not m:breakname,charcode,comment = m.groups()d[name] = charcode,commentpos = m.end()return ddef writefile(f,defs):f.write("entitydefs = {\n")items = sorted(defs.items())for name, (charcode,comment) in items:if charcode[:2] == '&#':code = int(charcode[2:-1])if code < 256:charcode = r"'\%o'" % codeelse:charcode = repr(charcode)else:charcode = repr(charcode)comment = ' '.join(comment.split())f.write(" '%s':\t%s, \t# %s\n" % (name,charcode,comment))f.write('\n}\n')if __name__ == '__main__':if len(sys.argv) > 1:infile = open(sys.argv[1])else:infile = sys.stdinif len(sys.argv) > 2:outfile = open(sys.argv[2],'w')else:outfile = sys.stdouttext = infile.read()defs = parse(text)writefile(outfile,defs)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。