解析 html 字符串

去除html字符串内的html标签,只留文本:

Java代码 复制代码  收藏代码
  1. /**  
  2.      * 解析一个html字符串,只得到此字符串中的文本  
  3.      * @param html  
  4.      * @return  
  5.      */  
  6.     public static String html2txt(String html) {   
  7.         //<span style="color: rgb(229, 51, 51); background-color: rgb(0, 153, 0); font-weight: bold; font-style: italic; text-decoration: underline;">测试1</span>   
  8.         Document document = Jsoup.parse(html);   
  9.         String content = document.text();   
  10.         return content;   
  11.     }  
### 使用 Thymeleaf 解析 HTML 字符串 为了在 Java Spring 应用程序中使用 Thymeleaf 来解析 HTML 字符串,可以创建一个 `StringTemplateResolver` 并将其配置到 `TemplateEngine` 中。这允许应用程序处理动态生成的模板字符串而不是文件中的静态模板。 下面是一个简单的例子来展示如何实现这一点: #### 配置 Template Resolver 和 Engine ```java import org.springframework.context.annotation.Bean; import org.thymeleaf.TemplateEngine; import org.thymeleaf.templateresolver.StringTemplateResolver; public class ThymeleafConfig { @Bean public StringTemplateResolver templateResolver() { final StringTemplateResolver templateResolver = new StringTemplateResolver(); templateResolver.setOrder(1); // 设置前缀和后缀为空白字符,因为我们直接传递完整的HTML作为参数 templateResolver.setPrefix(""); templateResolver.setSuffix(""); templateResolver.setTemplateMode("HTML"); templateResolver.setCharacterEncoding("UTF-8"); templateResolver.setCacheable(false); // 如果希望每次请求都重新编译,则设置为false return templateResolver; } @Bean public TemplateEngine templateEngine(final StringTemplateResolver templateResolver) { final TemplateEngine templateEngine = new TemplateEngine(); templateEngine.setTemplateResolver(templateResolver); return templateEngine; } } ``` #### 处理并渲染 HTML 字符串 一旦有了上述 Bean 的定义,在服务层或其他组件内就可以通过注入 `TemplateEngine` 实例来进行 HTML 字符串解析工作了: ```java @Service public class HtmlService { private final TemplateEngine templateEngine; @Autowired public HtmlService(TemplateEngine templateEngine){ this.templateEngine = templateEngine; } public String processHtml(String htmlContent, Map<String,Object> variables){ Context context = new Context(Locale.getDefault(),variables); return templateEngine.process(htmlContent,context)[^2]; } } ``` 在这个例子中,`processHtml()` 方法接收两个参数:一个是待解析HTML 文本;另一个是要应用到该文本上的变量映射表。这些变量会被替换掉 HTML 中对应的占位符位置,从而完成最终页面内容的组装。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值