是否有可以完全删除HTML标记的正则表达式?顺便说一下,我正在使用Java.
有JSoup这是HTML操作做一个Java库.看一下clean()
方法和WhiteList
对象.易于使用的解决方案!
您应该使用HTML解析器.我喜欢htmlCleaner,因为它给了我一个漂亮的HTML版本.
使用htmlCleaner,您可以:
TagNode root = htmlCleaner.clean( stream ); Object[] found = root.evaluateXPath( "//div[id='something']" ); if( found.length > 0 && found instanceof TagNode ) { ((TagNode)found[0]).removeFromTree(); }
如果您只需要删除标签,那么您可以使用此正则表达式:
content = content.replaceAll("<[^>]+>", "");
它只会删除标签,而不会删除其他HTML内容.对于更复杂的事情,您应该使用解析器.
编辑:为避免HTML注释出现问题,您可以执行以下操作:
content = content.replaceAll("", "").replaceAll("<[^>]+>", "");