word转换html时,会留下很多格式,有些格式并不是我们所需要的,然而这些格式比真正的文章内容还要多,严重影响页面的加载速度,因此就需要找个一个好的解决方案把这些多余的格式个去掉。网上有很多去除word冗余格式的js版的正则表达式,这里只提供java版的正则表达式。
1.public static String clearWordFormat(String content) { 2. //把<P></P>转换成</div></div>保留样式 3. //content = content.replaceAll("(<P)([^>]*>.*?)(<\\/P>)", "<div$2</div>"); 4. //把<P></P>转换成</div></div>并删除样式 5. content = content.replaceAll("(<P)([^>]*)(>.*?)(<\\/P>)", "<p$3</p>"); 6. //删除不需要的标签 7. content = content.replaceAll("<[/]?(font|FONT|span|SPAN|xml|XML|del|DEL|ins|INS|meta|META|[ovwxpOVWXP]:\\w+)[^>]*?>", ""); 8. //删除不需要的属性 9. content = content.replaceAll("<([^>]*)(?:lang|LANG|class|CLASS|style|STYLE|size|SIZE|face|FACE|[ovwxpOVWXP]:\\w+)=(?:‘[^‘]*‘|\"\"[^\"\"]*\"\"|[^>]+)([^>]*)>", "<$1$2>"); 10. //删除<STYLE TYPE="text/css"></STYLE>及之间的内容 11. int styleBegin = content.indexOf("<STYLE"); 12. int styleEnd = content.indexOf("</STYLE>") + 8; 13. String style = content.substring(styleBegin, styleEnd); 14. content = content.replace(style, ""); 15. return content; 16.}
时间: 2024-10-27 18:54:07