如何在python中将字符串中的所有HTML标记和属性转换为小写?

2024-04-26 06:02:19 发布

您现在位置:Python中文网/ 问答频道 /正文

在python中,如何将字符串中的所有HTML标记和属性转换为小写?不应更改其他任何内容,例如属性值不应更改、不缩进、换行等

抱歉,如果太明显了:)


Tags: 字符串标记内容属性html小写
2条回答

我不想说这是不可能的,但这是一个非常高的要求。原因是,HTML解析器通常不会试图保留与HTML无关的字符,比如行尾,但是除了HTML解析器之外的任何东西都不能很好地根据格式的严格定义来判断标记是或不是标记。在

如果您真的需要这样做并且做得很好,那么我将分析现有的pythonhtml解析器并根据您的需要对其进行修改。这是一个相当高级的编程项目。最好认真考虑一下为什么你需要这样做,如果这是严格正确的做法。在

编辑:另一个问题是,如果不检查HTML的有效性,或者将其转换为有效的,或者扼杀无效的HTML,就不可能真正解析HTML。因此,如果您的HTML可能存在有效性问题,那么结果是未定义的。例如,如果输入包含一个非常无效的标记,如<font="courier">,那么在本练习中,它会被视为HTML标记,还是仅仅是一个解析器终止字符的字符串?同样地,在文档中错误的位置出现了一个有效的looking标记。在

据我所知,这是不可能实现的(至少以任何可靠的方式)。在

通过将HTML解析为树并将其转换回字符串的本质,您将看到对HTML标记所做的更改。在

不建议使用正则表达式来处理HTML解析问题:https://stackoverflow.com/a/1732454/311220

相关问题 更多 >