You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Java的Jsoup将所有标题标签替换为h4标签?

如何用Jsoup将所有H系列标签替换为H4标签(不使用正则)

Jsoup的DOM操作API可以直接修改元素的标签名,无需正则表达式,步骤非常简单:

  1. 解析HTML:将目标HTML字符串转换成Jsoup的Document对象。
  2. 选中所有H系列标签:通过CSS选择器h1, h2, h3, h4, h5, h6筛选出所有标题元素。
  3. 修改标签名:遍历选中的元素,直接调用tagName("h4")修改标签类型,原元素的属性、文本内容和嵌套结构都会完整保留。

完整代码示例

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;

public class HeadingReplacer {
    public static void main(String[] args) {
        // 输入的HTML内容
        String inputHtml = "<!DOCTYPE html>\n" +
                "<html>\n" +
                "<body>\n" +
                "\n" +
                "<h2> heading here </h2>\n" +
                "<p>This is a paragraph.</p>\n" +
                "<p>This is another paragraph.</p>\n" +
                "<h3> heading here again </h3>\n" +
                "<p>This is another another paragraph.</p>\n" +
                "<h4> heading here again </h4>\n" +
                "</body>\n" +
                "</html>";

        // 解析HTML为Document对象
        Document doc = Jsoup.parse(inputHtml);

        // 选中所有h1到h6标签
        Elements allHeadings = doc.select("h1, h2, h3, h4, h5, h6");

        // 遍历修改每个标签为h4
        allHeadings.forEach(heading -> heading.tagName("h4"));

        // 输出转换后的HTML
        System.out.println(doc.html());
    }
}

说明

  • tagName("h4")方法会直接修改元素的标签类型,原元素的所有属性(比如class、id)、文本内容以及内部嵌套元素都会完整保留。
  • 即使原标签已经是h4,执行该方法也不会产生任何副作用,无需额外判断。
  • 转换后的HTML会自动保持正确的结构,不需要手动拼接标签。

内容的提问来源于stack exchange,提问作者xerxes01

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 03:41:42