在做接口的时候,有些模板xml标签不是CDATA规范的,这样就会在碰到&这样的字符出现错误,需要替换,简单的思路是字符串替换或正则匹配,将&替换成&
特别是有些专辑描述是html的内容,写入xml文件的时候需要将html内容转化为文本内容。
下面给出html内容输出为存文本的两种工具方法,方便以后查阅。
方法一:正则替换
/**
* html转化为text
* @param inputString
* @return
*/
public static String html2Text(String inputString) {
String htmlStr = inputString; // 含html标签的字符串
String textStr = "";
java.util.regex.Pattern p_script;
java.util.regex.Matcher m_script;
java.util.regex.Pattern p_style;
java.util.regex.Matcher m_style;
java.util.regex.Pattern p_html;
java.util.regex.Matcher m_html;
try {
String regEx_script = "<[\\s]*?script[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?script[\\s]*?>"; // 定义script的正则表达式{或<script>]*?>[\s\S]*?<\/script>
// }
String regEx_style = "<[\\s]*?style[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?style[\\s]*?>"; // 定义style的正则表达式{或<style>]*?>[\s\S]*?<\/style>
// }
String regEx_html = "<[^>]+>"; // 定义HTML标签的正则表达式
p_script = Pattern.compile(regEx_script, Pattern.CASE_INSENSITIVE);
m_script = p_script.matcher(htmlStr);
htmlStr = m_script.replaceAll(""); // 过滤script标签
p_style = Pattern.compile(regEx_style, Pattern.CASE_INSENSITIVE);
m_style = p_style.matcher(htmlStr);
htmlStr = m_style.replaceAll(""); // 过滤style标签
p_html = Pattern.compile(regEx_html, Pattern.CASE_INSENSITIVE);
m_html = p_html.matcher(htmlStr);
htmlStr = m_html.replaceAll(""); // 过滤html标签
textStr = htmlStr;
} catch (Exception e) {
System.err.println("Html2Text: " + e.getMessage());
}
return textStr;
}
方法二:采用api形式,先倒入jar包htmllexer.jar,htmlparser.jar,sitecapturer.jar,thumbelina.jar,filterbuilder.jar
public static String getHtmlText(String htmlContent) throws Exception
{
if(htmlContent==null)htmlContent="";
// 增加一个<br/>,经测试,如果正文为纯文本,org.htmlparser会把参数当作一个文件处理
StringBuffer sbf = new StringBuffer("");
sbf.append("<br />").append(htmlContent);
Parser parser = new Parser(sbf.toString());
TextExtractingVisitor visitor = new TextExtractingVisitor();
parser.visitAllNodesWith(visitor);
String sReturn = visitor.getExtractedText();
sReturn = sReturn.replace(" ", "");//去掉空格以便统计字数
return sReturn;
}
分享到:
相关推荐
标签中的“文本替换”和“文本搜索”是该工具的核心功能,允许用户快速定位并替换目标文件中的特定文本。“文档替换”则意味着这个工具不仅限于单个文件,而是可以处理整个目录或者一批选定的文件,进行大规模的文本...
Jsoup是HTML解析器 lang和lang3这两个包里有转换所需的工具类 org.jsoup jsoup 1.11.3 commons-lang commons-lang 2.6 org.apache.commons commons-lang3 3.4 第二步:直接使用即可: import org.apache....
"将HTML标签外的空格替换为` `"这个操作,就是针对这样的需求。` `是HTML中的一个特殊字符实体,代表非中断空格(Non-Breaking Space),它不会被浏览器忽略,而是作为一个实际的空格显示在页面上。这种...
8. 使用List类型的变量来存储替换后的文本:在将html内容转换为文本时,需要将html标签替换为指定的文本。可以使用List类型的变量来存储替换后的文本,并将其返回。 本文主要介绍了使用JAVA过滤标签实现将html内容...
在将HTML格式文本转换为纯文本时,需要注意的一点是去除HTML标签。Jsoup提供了一个Whitelist类,用于定义允许的HTML标签。在本文中,我们使用Whitelist.none()方法来去除所有HTML标签。同时,使用StringEscapeUtils....
当使用text方法带有参数时,它会把所有匹配的元素内容替换为提供的文本内容。 例如,在上述代码示例中,当用户点击“ShowText”按钮时,通过text方法获取id为“test”的p标签中的文本内容,并通过弹窗显示出来。...
- 文本转换:批量修改文本格式,如大小写转换、HTML标签替换等。 总的来说,易语言的正则表达式文本替换功能提供了强大的文本处理能力,对于需要处理和分析文本的程序开发者来说,掌握这项技能能极大地提高工作...
原始 HTML(Raw HTML) 双花括号语法,会将数据中的 HTML 转为纯文本后再进行插值。为了输出真正的 HTML,你需要使用 v-html 指令: ...span 中的内容,将会被替换为 rawHtml 属性的值,并且作为原始 HTML 插入
本文将深入探讨如何使用XPath来获取子标签下的所有文本内容。 在XML或HTML结构中,一个元素可能包含多个子元素,每个子元素又可能有各自的文本内容。有时,我们可能需要提取某个父元素下所有子元素的文本,而不仅仅...
批量替换文本内容是提高效率的关键技巧之一,尤其对于处理大量文档时。标题“批量替换文本文字内容”揭示了这个话题的核心,即如何一次性修改多个文件中的特定文本字符串。 描述中提到的是一款小巧的批量替换工具,...
本实例的代码封装在FilterHtmlUtil类中,提供了一个静态方法Html2Text用于将传入的包含HTML标签的字符串,过滤标签后返回纯文本内容。这个工具类可以在需要从HTML内容中提取文本的任何Java程序中使用。 总结来说,...
【超级批量文本替换工具】是一种高效实用的软件,专为处理大量文本文件中的内容替换而设计。在IT行业中,尤其是在编程、网站维护、文档管理等领域,我们常常需要对多个文件进行相同或相似的文本替换操作,例如修改...
【标题】:“一键批量替换文本工具”是一款专为需要大量文本内容修改的用户设计的高效软件,尤其适合网站管理员或内容创作者使用。它简化了文本处理的过程,通过一键操作即可实现对多个文件或整个文件夹内文本内容的...
批量文本替换是一项关键任务,特别是在需要更新网站内容、统一代码风格或修复错误时。UltraReplace通过其强大的搜索和替换功能,使得这一过程变得轻松快捷。用户可以设置自定义的搜索条件和替换规则,不仅限于简单的...
【个人站长超级文本替换工具】是一款专为程序员和网站管理员设计的强大工具,它极大地提高了文本处理的效率,尤其是在需要批量替换大量文件中的特定文本时。这个工具以其高速度和高效能著称,对于处理大型文本文件...
在这种情况下,为了安全性和展示效果,我们可能需要剔除文本中的HTML标签,使其变为纯文本格式。本示例("asp.net 剔除文本中的html标签 demo")就是针对这种情况提供的一种解决方案,适用于ASP.NET 3.5框架。 首先...
SQl去掉HTML标签函数 彻底防止SQL注入
替换字符串`\n\t`用于将每个标签替换为一个制表符(`\t`)后面的新行(`\n`),这样可以将HTML结构转换为易于阅读的文本格式。 在代码的最后,`System.out.println()`用于打印替换后的字符串,展示替换操作的效果。...
1. HTML标签:HTML(HyperText Markup Language)是一种用于创建网页的标准标记语言,`<a>`标签是HTML中的超链接标签,用于定义链接到其他网页或资源的元素。它的基本结构是`链接文字</a>`,其中`href`属性指定链接...
标签“文本替换”进一步明确了这个工具的主要功能,即搜索和替换文本。在编程、文档编辑、数据整理等领域,文本替换是经常需要用到的操作,例如,统一修改代码中的某个变量名、更新大批量文档的版权信息等。 在...