"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > Jsoup के साथ HTML को सादे टेक्स्ट में परिवर्तित करते समय मैं लाइन ब्रेक कैसे सुरक्षित रख सकता हूँ?

Jsoup के साथ HTML को सादे टेक्स्ट में परिवर्तित करते समय मैं लाइन ब्रेक कैसे सुरक्षित रख सकता हूँ?

2024-11-07 को प्रकाशित
ब्राउज़ करें:445

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

Jsoup के HTML से सादे पाठ रूपांतरण के साथ लाइन ब्रेक को संरक्षित करना

Jsoup HTML में हेरफेर करने के लिए मजबूत उपकरण प्रदान करता है, लेकिन HTML से सादे में इसका डिफ़ॉल्ट रूपांतरण टेक्स्ट लाइन ब्रेक को मर्ज कर सकता है, उन्हें निरंतर टेक्स्ट के रूप में प्रस्तुत कर सकता है। इन ब्रेक को संरक्षित करने के लिए, यहां बताया गया है कि आप Jsoup का उपयोग कैसे कर सकते हैं:

लाइन ब्रेक संरक्षण के लिए एक कस्टम फ़ंक्शन:

प्रदान किया गया जावा कोड स्निपेट एक कस्टम फ़ंक्शन, noTags पेश करता है, जो Jsoup के टेक्स्ट का लाभ उठाता है() इनपुट HTML से HTML टैग हटाने की विधि। हालाँकि, यह लाइन ब्रेक को बनाए नहीं रखता है। इस पद्धति का उपयोग करके, noTags फ़ंक्शन को बेहतर बनाया जा सकता है:

सार्वजनिक स्ट्रिंग noTags(स्ट्रिंग str) { वापसी Jsoup.parse(str).wheleText(); }

लाइन ब्रेक संरक्षण को लागू करना:
public String noTags(String str) {
    return Jsoup.parse(str).wholeText();
}

सार्वजनिक स्थैतिक स्ट्रिंग br2nl(स्ट्रिंग html) { अगर (एचटीएमएल == शून्य) एचटीएमएल वापस करें; दस्तावेज़ दस्तावेज़ = Jsoup.parse(html); // लाइन ब्रेक और रिक्ति को संरक्षित करने के लिए सुंदर प्रिंटिंग को रोकें document.outputSettings(new Document.OutputSettings().prettyPrint(false)); //
टैग के लिए लाइन ब्रेक जोड़ें document.select("br").append("\\n"); //

टैग के लिए लाइन ब्रेक को प्रीपेन्ड करें document.select("p").prepend("\\n\\n"); स्ट्रिंग s = document.html().replaceAll('\\\\n', '\n'); वापसी Jsoup.clean(s, "", Whitelist.none(), new Document.OutputSettings().prettyPrint(false)); }

यह कस्टम फ़ंक्शन सुनिश्चित करता है कि लाइन ब्रेक संरक्षित हैं, वांछित आउटपुट के साथ संरेखित हैं। यह दो प्रमुख आवश्यकताओं को पूरा करता है:
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)); }

मूल लाइन ब्रेक (\n) संरक्षित हैं।

    और

    टैग लाइन ब्रेक (\n) में परिवर्तित हो जाते हैं।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3