android - HTML स्ट्रिंग प्रदर्शित नहीं कर सकता




python webview (2)

मैं Android WebView में प्रदर्शन स्ट्रिंग HTML के साथ संघर्ष कर रहा हूं। सर्वर की ओर, मैंने एक वेब पेज डाउनलोड किया और HTML पात्रों और उद्धरण (मैंने पायथन का उपयोग किया) से बच गया:

my_string = html.escape(my_string, True)

एंड्रॉइड क्लाइंट की तरफ: स्ट्रिंग्स द्वारा unescaped हैं:

myString = StringEscapeUtils.unescapeHtml4(myString)
webview.loadData( myString, "text/html", "encoding");

हालाँकि वेबव्यू उन्हें शाब्दिक तार के रूप में प्रदर्शित करता है। यहाँ परिणाम हैं:

संपादित करें: मैं सर्वर की ओर से लौटा मूल स्ट्रिंग जोड़ें:

"& lt; DOCTYPE html & gt; & lt; html lang = & quot; en & quot; & lt; हेड & gt; & lt; मेटा charset = & quot; utf-8 & quot; & gt; & lt; मेटा http-equiv = & quot; X-UA- संगत-उद्धरण & quot; सामग्री = & quot; IE = बढ़त & quot; & gt; & lt; मेटा नाम = & quot; व्यूपोर्ट & quot; सामग्री = & quot; चौड़ाई = डिवाइस-चौड़ाई, प्रारंभिक-स्केल = 1.0 & quot; & gt; & lt; मेटा नाम = & quot; वर्णन & quot; सामग्री & quot; ; & quot; & gt; & lt; शीर्षक & gt; Saulify & lt; / शीर्षक & gt; & lt; - सभी फ़ेविकॉन ... - & gt; & lt; लिंक rel = & quot; शॉर्टकट आइकन & quot; href = & quot; / static / favicon / favicon। ico & quot; & gt; & lt; लिंक rel = & quot; सेब-स्पर्श-आइकन & quot; आकार = & quot; 57x57 & quot; href = & quot; /static/favicon/apple-touch-icon-57x57.png" & gt; लिंक rel = & quot; ; सेब-टच-आइकन & quot; आकार = & quot; 114x114 & quot; href = & quot; /static/favicon/apple-touch-icon-114x114.png" & gt; & lt; लिंक rel = & quot; सेब-स्पर्श-आइकन & quot; आकार = & quot; ; 72x72 & quot; href = & quot; /static/favicon/apple-touch-icon-72x72.png" & gt; & lt; लिंक rel = & quot; सेब-स्पर्श-आइकन-आकार; आकार = & quot; 144x144 & quot; href = & quot; फ़ेविकॉन / सेब टच-icon-144x144.png & quot; & gt; & lt; लिंक rel = & quot; ऐप्पल-टच-आइकन & quot; आकार = & quot; 60x60 & quot; href = & quot; /static/favicon/apple-touch-icon-60x60.png" & gt; & lt; लिंक rel = & quot; ऐप्पल-टच-आइकन & quot; आकार = & quot; 120x120 & quot; href = & quot; /static/favicon/apple-touch-icon-120x120.png" & gt; & lt; लिंक rel = & quot; ऐप्पल-टच-आइकन & quot; आकार = & quot; 76x76 & quot; href = & quot; /static/favicon/apple-touch-icon-76x76.png" & gt; & lt; लिंक rel = & quot; ऐप्पल-टच-आइकन & quot; आकार = & quot; 152x152 & quot; href = & quot; /static/favicon/apple-touch-icon-152x152.png" & gt; & lt; लिंक rel = & quot; ऐप्पल-टच-आइकन & quot; आकार = & quot; 180x180 & quot; href = & quot; /static/favicon/apple-touch-icon-180x180.png" & gt; & lt; लिंक rel = & quot; आइकन & quot; प्रकार = & quot; छवि / png & quot; href = & quot; /static/favicon/favicon-192x192.png" आकार = & quot; 192x192 & quot; & gt; & lt; लिंक rel = & quot; आइकन & quot; प्रकार = & quot; छवि / png & quot; href = & quot; /static/favicon/favicon-160x160.png" आकार = & quot; 160x160 & quot; & gt; & lt; लिंक rel = & quot; आइकन & quot; प्रकार = & quot; छवि / png & quot; href = & quot; /static/favicon/favicon-96x96.png" आकार = & quot; 96x96 & quot; & gt; & lt; लिंक rel = & quot; आइकन & quot; प्रकार = & quot; छवि / png & quot; href = & quot; /static/favicon/favicon-16x16.png" आकार = & quot; 16x16 & quot; & gt; & lt; लिंक rel = & quot; आइकन & quot; प्रकार = & quot; छवि / png & quot; href = & quot; /static/favicon/favicon-32x32.png" आकार = & quot; 32x32 & quot; & gt; & lt; मेटा नाम = & quot; msapplication-TileColor & quot; सामग्री = & quot; # da532c & quot; & gt; & lt; मेटा नाम = & quot; msapplication-TileImage & quot; सामग्री = & quot; /static/favicon/mstile-144x144.png" & gt; & lt; मेटा नाम = & quot; msapplication-config & quot; सामग्री = & quot; /static/favicon/browserconfig.xml" & gt; & lt;; - बाहरी CSS - & gt; & lt; लिंक rel = & quot; स्टाइलशीट & quot; href = & quot; https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css"&gt ; & lt; - - बाहरी फ़ॉन्ट्स - & gt; & lt; लिंक href = & quot; // maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel = & quot; स्टाइलशीट & quot; & gt; & lt; लिंक href = & # x27; // फोंट .googleapis.com/css?family=Open+Sans:300,600' rel = & # x27; स्टाइलशीट & # x27; type = & # x27; text / css & # x27; & gt; & lt; लिंक href = & # x27; // फोंट .googleapis.com/css?family=Lora:400,700' rel = & # x27; स्टाइलशीट & # x27; type = & # x27; text / css & # x27; & gt; & lt; -; [अगर लेट IE 9] & gt; & lt; स्क्रिप्ट src = & quot; // cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js&quot=&gt=&lt//script> & lt; स्क्रिप्ट src = & quot; // cdnjs.cloudflare.com/ajax/libs/respond.js/1.4.2/respond.min.js&quot=&gt&&t;/script> & LT; [endif] - & gt; & lt; - साइट सीएसएस - & gt; & lt; लिंक rel = & quot; स्टाइलशीट & quot; प्रकार = & quot; text / css & quot; href = & quot; /static/css/style.css" & gt; & lt; लिंक rel = & quot; स्टाइलशीट & quot; प्रकार = & quot; text / css & quot; href = & quot; /static/css/glyphicon.css" & gt; & Lt; / head & gt; & LT; बॉडी & gt; & lt; div वर्ग = & quot; कंटेनर आलेख-पृष्ठ & quot; & gt; & lt; div वर्ग = & quot; पंक्ति & quot; & gt; & lt; div वर्ग = & quot; col-md-8 col-md-ऑफसेट -२ & quot; & gt; & lt; h2 & gt; & lt; a href = & quot; http://www.huffingtonpost.com/2015/03/22/ted-cruz-climate-change_n_6919002.html">Gov जेरी ब्राउन कहते हैं टेड क्रूज़ है & amp; # 39; बिल्कुल अनफिट & amp; # 39; जलवायु परिवर्तन दृश्य के कारण कार्यालय के लिए चलाने के लिए & lt; / a & gt; & lt; / h2 & gt; & lt; h4 & gt; सैम लेविन & lt; / h4 & gt; & lt; div वर्ग = & quot; लेख & quot; & gt; & lt; p & gt; कैलिफ़ोर्निया सरकार। जेरी ब्राउन (डी) ने रविवार को कहा कि टेक्सास सेन टेड क्रूज़ (आर-टेक्सास) & quot; कार्यालय के लिए चल रहा है; जलवायु परिवर्तन पर उसकी स्थिति के कारण। & lt; / p & gt; & lt; p & gt; & quot; मैं अभी-अभी न्यू हैम्पशायर से आया हूं, जहां हर जगह बर्फ और बर्फ है। इस पर मेरा दृष्टिकोण सरल है: इस पर बहस को विज्ञान का अनुसरण करना चाहिए और डेटा का पालन करना चाहिए, और ग्लोबल वार्मिंग पर कई अलार्मिस्ट, उन्हें एक समस्या है क्योंकि विज्ञान ने उन्हें वापस नहीं किया है, & quot; क्रूज़ & lt; a href = & quot; https://www.youtube.com/watch?v=m0UJ_Sc0Udk">said</a&gt ; सेठ मेयर्स के साथ & quot; देर रात & quot; पिछले सप्ताह। & lt; / p & gt; & lt; p & gt; अपने दावे का समर्थन करने के लिए, क्रूज़ ने उपग्रह डेटा का हवाला दिया जिसमें पिछले 17 वर्षों में महत्वपूर्ण वार्मिंग की कमी दिखाई गई है। लेकिन क्रूज़ के तर्क और & lt; a href = & quot; http://www.politifact.com/truth-o-meter/statements/2015/mar/20 / ted-cruz / ted-cruzs-world-fire-not-last-17-year / & quot; & gt; Politifact & lt; / a & gt; द्वारा डिबंक की गई, जिसमें दिखाया गया है कि वैज्ञानिकों के पास इस बात के पर्याप्त प्रमाण हैं कि जलवायु गर्म होती रहेगी। & lt; / p & gt; & lt; p & gt; & quot; उसने जो कहा वह बिल्कुल गलत है, "ब्राउन ने & lt; a href = & quot; http://www.nbcnews.com/meet-the-press/california-governor-ted-cruz- unfit-be-running-n328046 & quot; & gt; एनबीसी & # x27; प्रेस और & quot; & lt; एक & gt; उन्होंने कहा कि & lt; a href = & quot; http://climate.nasa.gov/scientific-consensus/">over 90 & lt; / a & gt; जलवायु का अध्ययन करने वाले वैज्ञानिकों का मानना ​​है कि जलवायु परिवर्तन मानव गतिविधि के कारण होता है। & quot; वह आदमी इस तरह के अज्ञानता के स्तर और मौजूदा वैज्ञानिक डेटा के प्रत्यक्ष मिथ्याकरण को धोखा देता है। यह चौंकाने वाला है, और मुझे लगता है कि आदमी ने खुद को कार्यालय के लिए चलने के लिए बिल्कुल अयोग्य करार दिया है, & quot; ब्राउन ने कहा। & lt; / p & gt; & lt; p & gt; भूरा ने जोड़ा कि जलवायु परिवर्तन में & lt; href = & quot; http://www.huffingtonpost.com/2015/03/06/california-drought-february- record_n_6820704.html; utm_hp_ref = california-d सूखे & quot; & gt; के कारण उनके राज्य में कुंड बन गए और & lt; / a & gt; के साथ-साथ भीषण ठंड पड़ रही है। पूर्वी तट पर तूफान; & lt; / p & gt; & lt; p & gt; जबकि क्रूज़ ने न्यू हैम्पशायर में हर जगह बर्फ और बर्फ देखी होगी, डेटा से पता चलता है कि देश वास्तव में एक & lt; href = & quot; का अनुभव कर रहा है। http://www.huffingtonpost.com/2015/02/19/cold-weather- winter_n_6713104.html & quot; & gt; औसत से औसतन & lt; / a & gt; । सर्दियों & lt; / p & gt; & lt; p & gt; ब्राउन की आलोचना की एक दिन पहले टेक्सास के सीनेटर द्वारा & lt; href = & quot; http://www.huffingtonpost.com/2015/03/22 campaign & lt; / a & gt; & Lt; / p & gt; & Lt; / div & gt; & lt; div वर्ग = & quot; मूल & quot; & gt; & lt; एक href = & quot; http://www.huffingtonpost.com/2015/03/22/ted-cruz-climate-change_n_6919002.html">VIEW ORIGINAL & lt; / a & gt; & Lt; / div & gt; & Lt; / div & gt; & Lt; / div & gt; & Lt; / div & gt; & lt; स्क्रिप्‍ट src = & quot; // code.jquery.com/jquery-latest.js"&gt=</script> & lt; स्क्रिप्ट src = & quot; /static/js/modal.js" & gt; & lt; / स्क्रिप्ट & gt; & lt; स्क्रिप्ट src = & quot; /static/js/bootbox.min.js" & gt; & lt; / स्क्रिप्ट & gt; & lt; स्क्रिप्ट src = & quot ;/static/js/site.js" & gt; & lt; / स्क्रिप्ट & gt; & LT; स्क्रिप्ट & gt; (function (i, s, o, g, r, a, m) {i [& # x27; GoogleAnalyticsObject & # x27?] = r; मैं [r] = i [r] || function () {[|| r] .q = i [r] .q। []]। push (आर्ग्युमेंट्स)}, i [r] .l = 1 * new Date (); a = s.createElement (o), m = s। getElementsByTagName (o) [0]; a.async = 1; a.src = g; m.parentNode.insertBefore (a, m)}) (विंडो, दस्तावेज़, & # x27; स्क्रिप्ट & # x27; & # x27; //www.google-analytics.com/analytics.js','ga'); ga (& # x27; & # x27 ;, & # x27; UA-56257533-1 और # x27 ;, & # x27; auto & # x27;) बनाएं। ga (& # x27; भेजें & # x27 ;, & # x27; पृष्ठदृश्य & # x27;); & Lt; / स्क्रिप्ट & gt; & Lt; / body & gt; & Lt; / html & gt; "


इस कोड को आज़माएं,

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N){
   yourtextview.setText(Html.fromHtml(yourstring,Html.FROM_HTML_MODE_LEGACY));
}
else {
   yourtextview.setText(Html.fromHtml(yourstring));
}

इसे इस्तेमाल करे:

wv = (WebView) findViewById(R.id.wv);
String s = "You HTML string";
wv.loadData(stripHtml(s), "text/html", "UTF-8");

public String stripHtml(String html) {
    return Html.fromHtml(html).toString();
}




webview