Préserver les sauts de ligne avec la conversion HTML en texte brut de Jsoup
Jsoup propose des outils robustes pour manipuler le HTML, mais sa conversion par défaut du HTML en texte brut le texte peut fusionner les sauts de ligne, les rendant ainsi sous forme de texte continu. Pour conserver ces sauts de ligne, voici comment utiliser Jsoup :
Une fonction personnalisée pour la préservation des sauts de ligne :
L'extrait de code Java fourni introduit une fonction personnalisée, noTags, qui exploite le texte() de Jsoup. méthode pour supprimer les balises HTML du HTML d’entrée. Cependant, il ne conserve pas les sauts de ligne.
Amélioration de la fonction avec l'extraction de texte entier :
La classe JsonNode de Jsoup propose une méthode getWholeText(), qui extrait le contenu du texte tout en respectant les sauts de ligne. En utilisant cette méthode, la fonction noTags peut être améliorée :
public String noTags(String str) {
return Jsoup.parse(str).wholeText();
}
Mise en œuvre de la préservation des sauts de ligne :
Pour une solution plus raffinée qui préserve les sauts de ligne :
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));
}
Cette fonction personnalisée garantit que les sauts de ligne sont préservés, en s'alignant sur la sortie souhaitée. Il remplit deux exigences clés :
sont converties en sauts de ligne (\n).
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3