我需要从java中的以下字符串中删除HTML标记
String text = "<html><head></head><body>hi x>a and y<b and z>c</body></html>";我可以用正则表达式做到这一点。但它也删除了字符串中的"b和z“。因为它被认为是标签。
发布于 2012-06-28 13:03:52
当然它会去掉"b和z“。它应该删除该文本。因为在HTML中,属性不需要加引号,也不需要值。所以b是一个元素,and和z是属性(没有值)。这就是HTML解析器所能识别的。
当然,and和z对于b元素来说并不是真正可接受的属性,但是就语法良好性而言,您应该将b识别为一个元素。
如果您不想将其删除,则需要将您的<编写为<。无论如何,这就是如何编写正确的HTML。:)
附录
(是的,我知道上面的评论中引用了著名的“无法用正则表达式解析HTML”的答案,但是这个问题中的<和<在答案中是值得指出的。)
https://stackoverflow.com/questions/11238321
复制相似问题