[英]How can I remove HTML tags in Java?
我需要从Java中以下字符串中删除HTML标签
String text = "<html><head></head><body>hi x>a and y<b and z>c</body></html>";
我可以使用正则表达式来做到这一点。 但是它也会删除字符串中的“ b和z”。 因为它被认为是标签。
当然,它将删除“ b和z”。 应该删除该文本。 因为在HTML中,属性不必用引号引起来,并且它们不需要值。 所以b
是元素,而and
和z
是属性(无值)。 这就是HTML解析器将识别的内容。
当然, and
和z
并不是b
元素的真正可接受属性,但是就语法格式正确而言,您应该将b
视为元素。
如果您不希望将其删除,则需要将<
编写为<
。 无论如何,这就是如何编写正确的HTML。 :)
附录
(是的,我知道上面在评论中引用的著名的“不能用正则表达式解析HTML”答案,但是问题中的<
vs <
值得在答案中指出,恕我直言。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.