繁体   English   中英

如何删除Java中的HTML标签?

[英]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是元素,而andz是属性(无值)。 这就是HTML解析器将识别的内容。

当然, andz并不是b元素的真正可接受属性,但是就语法格式正确而言,您应该将b视为元素。

如果您不希望将其删除,则需要将<编写为&lt; 无论如何,这就是如何编写正确的HTML。 :)

附录

(是的,我知道上面在评论中引用的著名的“不能用正则表达式解析HTML”答案,但是问题中的< vs &lt;值得在答案中指出,恕我直言。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM