"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo puedo conservar los saltos de línea al convertir HTML a texto sin formato con Jsoup?

¿Cómo puedo conservar los saltos de línea al convertir HTML a texto sin formato con Jsoup?

Publicado el 2024-11-07
Navegar:462

How Can I Preserve Line Breaks When Converting HTML to Plain Text with Jsoup?

Conservar saltos de línea con la conversión de HTML a texto sin formato de Jsoup

Jsoup ofrece herramientas sólidas para manipular HTML, pero su conversión predeterminada de HTML a formato simple El texto puede fusionar saltos de línea y convertirlos en texto continuo. Para preservar estos saltos, así es como puede utilizar Jsoup:

Una función personalizada para la preservación de saltos de línea:

El fragmento de código Java proporcionado presenta una función personalizada, noTags, que aprovecha el texto de Jsoup() Método para eliminar etiquetas HTML del HTML de entrada. Sin embargo, no mantiene saltos de línea.

Mejora de la función con extracción de texto completo:

La clase JsonNode de Jsoup ofrece un método getWholeText(), que extrae el contenido del texto respetando los saltos de línea. Con este método, se puede mejorar la función noTags:

public String noTags(String str) {
    return Jsoup.parse(str).wholeText();
}

Implementación de la preservación de saltos de línea:

Para una solución más refinada que preserva los saltos de línea:

public static String br2nl(String html) {
    if (html == null)
        return html;
    Document document = Jsoup.parse(html);
    // Suppress pretty printing to preserve line breaks and spacing
    document.outputSettings(new Document.OutputSettings().prettyPrint(false));
    // Append line breaks for 
tags document.select("br").append("\\n"); // Prepend line breaks for

tags document.select("p").prepend("\\n\\n"); String s = document.html().replaceAll("\\\\n", "\n"); return Jsoup.clean(s, "", Whitelist.none(), new Document.OutputSettings().prettyPrint(false)); }

Esta función personalizada garantiza que se conserven los saltos de línea, alineándose con la salida deseada. Cumple dos requisitos clave:

  1. Los saltos de línea originales (\n) se conservan.

  2. y las etiquetas

    se convierten en saltos de línea (\n).

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3