"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يمكنني الحفاظ على فواصل الأسطر عند تحويل HTML إلى نص عادي باستخدام Jsoup؟

كيف يمكنني الحفاظ على فواصل الأسطر عند تحويل HTML إلى نص عادي باستخدام Jsoup؟

تم النشر بتاريخ 2024-11-07
تصفح:928

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

الحفاظ على فواصل الأسطر باستخدام Html الخاص بـ Jsoup لتحويل النص العادي

يوفر Jsoup أدوات قوية لمعالجة HTML، ولكن تحويله الافتراضي من HTML إلى عادي يمكن للنص دمج فواصل الأسطر، مما يجعلها نصًا مستمرًا. للحفاظ على هذه الفواصل، إليك كيفية استخدام Jsoup:

وظيفة مخصصة للحفاظ على فواصل الأسطر:

يقدم مقتطف كود Java المقدم وظيفة مخصصة، noTags، التي تستفيد من نص Jsoup () طريقة لإزالة علامات HTML من إدخال HTML. ومع ذلك، فهي لا تحافظ على فواصل الأسطر.

تعزيز الوظيفة باستخراج النص بالكامل:

توفر فئة JsonNode الخاصة بـ Jsoup طريقة getWholeText ()، والتي تستخرج محتوى النص مع احترام فواصل الأسطر. باستخدام هذه الطريقة، يمكن تحسين وظيفة noTags:

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

تنفيذ الحفاظ على فواصل الأسطر:

للحصول على حل أكثر دقة يحافظ على فواصل الأسطر:

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)); }

تضمن هذه الوظيفة المخصصة الحفاظ على فواصل الأسطر، بما يتماشى مع الإخراج المطلوب. إنه يلبي متطلبين رئيسيين:

  1. يتم الاحتفاظ بفواصل الأسطر الأصلية (\n).

  2. ويتم تحويل العلامات إلى فواصل أسطر (\n).
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3