我需要PHP的HTML SAX(不是DOM!)解析器才能处理甚至无效的HTML代码.我需要它的原因是过滤用户输入的HTML(删除所有属性和标签除了允许的内容)并将HTML内容截断为指定的长度.
有任何想法吗?
解决方法:
SAX用于处理有效的XML并在无效标记上失败.处理无效的HTML标记需要保持比SAX解析器通常保留的状态更多的状态.
我不知道任何类似SAX的HTML解析器.您最好的方法是使用之前通过整理HTML然后使用XML解析器,但这可能会破坏您首先使用SAX解析器的目的.