שמירה על הפסקות קו בעת שימוש ב- Jsoup
1. סקירה כללית
במדריך זה נבחן בקצרה את הדרכים השונות של שמירה על מעברי שורות בעת שימוש ב- Jsoup לניתוח HTML לטקסט רגיל. נסקור כיצד לשמור על מעברי קווים הקשורים לקו חדש (\ n) תווים, כמו גם אלה הקשורים ו Jsoup מסיר את הדמות החדשה (\ n) כברירת מחדל מטקסט ה- HTML ומחליף כל שורה חדשה באופי חלל. עם זאת, כדי למנוע מ- Jsoup להסיר את התווים החדשים, אנו יכולים לשנות את הגדרת פלט של Jsoup והשבית הדפסה יפה. אם ההדפסה היפה מושבתת, שיטות הפלט של HTML לא יעצבו מחדש את הפלט והפלט ייראה כמו הקלט: יתר על כן, אנו יכולים להשתמש ג'סופ#לְנַקוֹת כדי להסיר את כל תגי ה- HTML מהמחרוזת: בואו נראה מה מחרוזת הפלט שלנו strWithNewLines נראה כמו: לכן אנו יכולים לראות זאת על ידי התקשרות ג'סופ#לְנַקוֹת עם רשימת היתרים#אף אחד והשבית את הגדרת הפלט עם ההדפסה היפה של Jsoup, אנו מסוגלים לשמר את מעברי השורות הקשורים לדמות השורה החדשה. בואו נראה מה עוד אנחנו יכולים לעשות! תוך כדי ניקוי טקסט ה- HTML באמצעות ה- ג'סופ#לְנַקוֹת בשיטה, זה מסיר את מעברי השורות שנוצרו על ידי תגי HTML כמו ו כדי לשמור על מעברי השורות המשויכים לתגיות אלה, ראשית עלינו ליצור Jsoup מסמך ממחרוזת ה- HTML שלנו: עוֹלָם פסקה לאחר מכן, אנו תולים דמות קו חדש לפני ה- ו הנה, השתמשנו ב- בחר שיטת Jsoup מסמך ביחד איתי לפני שיטה לתלות את הדמות החדשה. לאחר מכן, אנו מקבלים את מחרוזת ה- HTML מ jsoupDoc שמירה על הקווים החדשים המקוריים: לבסוף, אנו מתקשרים ג'סופ#לְנַקוֹת עם רשימת היתרים#אף אחד והגדרת פלט ההדפסה היפה מושבתת: ומחרוזת הפלט שלנו strWithNewLines נראה כמו: לפיכך, על ידי מראש ו במאמר קצר זה למדנו כיצד לשמור על מעברי קווים הקשורים לקו חדש (\ n) דמויות וה ו כמו תמיד, כל דוגמאות הקוד הללו זמינות ב- GitHub.2. שימור \ n תוך כדי ניתוח טקסט HTML
Document.OutputSettings outputSettings = Document.OutputSettings חדש (); outputSettings.prettyPrint (false);
מחרוזת strHTML = "שלום \ n עולם"; String strWithNewLines = Jsoup.clean (strHTML, "", Whitelist.none (), outputSettings);
assertEquals ("שלום \ nworld", strWithNewLines);
3. שימור הפסקות קו המשויך ו תגים
מחרוזת strHTML = "שלום
Document.OutputSettings outputSettings = Document.OutputSettings חדש (); outputSettings.prettyPrint (false); jsoupDoc.outputSettings (outputSettings); jsoupDoc.select ("br"). לפני ("\ n"); jsoupDoc.select ("p"). לפני ("\ n");
מחרוזת str = jsoupDoc.html (). להחליף את כל ("\ n", "\ n");
String strWithNewLines = Jsoup.clean (str, "", Whitelist.none (), outputSettings);
assertEquals ("שלום \ nWorld \ nParagraph", strWithNewLines);
4. מסקנה