Tôi đang gặp khó khăn với HTML chuỗi hiển thị trong Android WebView. Về phía server, tôi đã tải về một trang web và thoát khỏi nhân vật HTML và dấu ngoặc kép (tôi đã sử dụng Python):Không thể hiển thị chuỗi HTML
my_string = html.escape(my_string, True)
Về phía khách hàng Android: chuỗi được unescaped bởi:
myString = StringEscapeUtils.unescapeHtml4(myString)
webview.loadData(myString, "text/html", "encoding");
Tuy nhiên webview chỉ hiển thị chúng dưới dạng chuỗi chữ. Dưới đây là kết quả:
Edit: Tôi thêm chuỗi ban đầu trở về từ phía máy chủ:
"& lt; DOCTYPE html & gt; & lt; html lang = & quot; en &! quot; & gt; & lt; đầu & gt; & lt; meta charset = & quot; utf-8 & quot; & gt; & lt; meta http-equiv = & quot; Tương thích X-UA & quot; content = & quot; IE = edge & quot; & gt; & lt; meta tên = & quot; chế độ xem & quot; content = & quot; width = device-width, quy mô ban đầu = 1.0 & quot; & gt; & lt; meta tên = & quot; mô tả & quot; content = & quot; & quot; & gt; & lt; tiêu đề & gt; Saulify & lt;/title & gt; & lt;! - Tất cả các Favicons ... - & gt; & lt; liên kết rel = & quot; phím tắt biểu tượng & quot; href = & quot; /static/favicon/favicon.ico & quot; & gt; & lt; liên kết rel = & quot; apple-touch-icon & quot; kích thước = & quot; 57x57 & quot; href = & quot; /static/favicon/apple-touch-icon-57x57.png & quot; & gt; & lt; liên kết rel = & quot; apple-touch-icon & quot; kích thước = & quot; 114x114 & quot; href = & quot; /static/favicon/apple-touch-icon-114x114.png & quot; & gt; & lt; liên kết rel = & quot; apple-touch-icon & quot; kích thước = & quot; 72x72 & quot; href = & quot;/static/favicon/apple-touch-icon-72x72.png & quot; & gt; & lt; liên kết rel = & quot; apple-touch-icon & quot; kích thước = & quot; 144x144 & quot; href = & quot; /static/favicon/apple-touch-icon-144x144.png & quot; & gt; & lt; liên kết rel = & quot; apple-touch-icon & quot; kích thước = & quot; 60x60 & quot; href = & quot; /static/favicon/apple-touch-icon-60x60.png & quot; & gt; & lt; liên kết rel = & quot; apple-touch-icon & quot; kích thước = & quot; 120x120 & quot; href = & quot; /static/favicon/apple-touch-icon-120x120.png & quot; & gt; & lt; liên kết rel = & quot; apple-touch-icon & quot; kích thước = & quot; 76x76 & quot; href = & quot; /static/favicon/apple-touch-icon-76x76.png & quot; & gt; & lt; liên kết rel = & quot; apple-touch-icon & quot; kích thước = & quot; 152x152 & quot; href = & quot; /static/favicon/apple-touch-icon-152x152.png & quot; & gt; & lt; liên kết rel = & quot; apple-touch-icon & quot; kích thước = & quot; 180x180 & quot; href = & quot; /static/favicon/apple-touch-icon-180x180.png & quot; & gt; & lt; liên kết rel = & quot; biểu tượng & quot; type = & quot; hình ảnh/png & quot; href = & quot; /static/favicon/favicon-192x192.png & quot; kích thước = & quot; 192x192 & quot; & gt; & lt; liên kết rel = & quot; biểu tượng & quot; loại = & quot; hình ảnh/png & quot; href = & quot; /static/favicon/favicon-160x160.png & quot; kích thước = & quot; 160x160 & quot; & gt; & lt; liên kết rel = & quot; biểu tượng & quot; loại = & quot; hình ảnh/png & quot; href = & quot;/static/favicon/favicon-96x96.png & quot; kích thước = & quot; 96x96 & quot; & gt; & lt; liên kết rel = & quot; biểu tượng & quot; loại = & quot; hình ảnh/png & quot; href = & quot; /static/favicon/favicon-16x16.png & quot; kích thước = & quot; 16x16 & quot; & gt; & lt; liên kết rel = & quot; biểu tượng & quot; loại = & quot; hình ảnh/png & quot; href = & quot; /static/favicon/favicon-32x32.png & quot; kích thước = & quot; 32x32 & quot; & gt; & lt; meta tên = & quot; msapplication-TileColor & quot; content = & quot; # da532c & quot; & gt; & lt; meta tên = & quot; msapplication-TileImage & quot; content = & quot; /static/favicon/mstile-144x144.png & quot; & gt; & lt; meta name = & quot; msapplication-config & quot; content = & quot; /static/favicon/browserconfig.xml & quot; & gt; & lt;! - CSS bên ngoài - & gt; & lt; liên kết rel = & quot; biểu định kiểu & quot; href = & quot; https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css"> & lt;! - Phông chữ bên ngoài - & gt; & lt; liên kết href = & quot; // maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css & quot; rel = & quot; biểu định kiểu & quot; & gt; & lt; liên kết href = & # x27; // fonts.googleapis.com/css?family=Open+Sans:300,600 & # x27; rel = & # x27; biểu định kiểu & # x27; type = & # x27; văn bản/css & # x27; & gt; & lt; link href = & # x27; // fonts.googleapis.com/css?family=Lora:400,700 & # x27; rel = & # x27; biểu định kiểu & # x27; type = & # x27; văn bản/css & # x27; & gt; & lt;! - [nếu lt IE 9] & gt; & lt; script src = & quot; // cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js & quot; & gt; & lt;/script & gt; & lt; script src = & quot; // cdnjs.cloudflare.com/ajax/libs/respond.js/1.4.2/respond.min.js & quot; & gt; & lt;/script & gt; & lt;! [Endif] - & gt; & lt;! - Trang web CSS - & gt; & lt; liên kết rel = & quot; biểu định kiểu & quot; type = & quot; văn bản/css & quot; href = & quot; /static/css/style.css & quot; & gt; & lt; liên kết rel = & quot; biểu định kiểu & quot; gõ = & quot; văn bản/css & quot; href = & quot; /static/css/glyphicon.css & quot; & gt; & lt;/head & gt; & lt; body & gt; & lt; div class = & quot; trang chứa bài viết & quot; & gt; & lt; div class = & quot; hàng & quot; & gt; & lt; div lớp = & quot; col-md-8 col-md-offset-2 & quot; & gt; & lt; h2 & gt; & lt; a href = & quot; http://www.huffingtonpost.com/2015/03/22/ted-cruz-climate-change_n_6919002.html">Gov. Jerry Brown nói Ted Cruz là & amp; # 39; Hoàn toàn Unfit & amp; # 39; Để chạy vì văn phòng vì biến đổi khí hậu Lượt xem & lt;/a & gt; & lt;/h2 & gt; & lt; h4 & gt; Sam Levine & lt;/h4 & gt; & lt; div class = & quot; article & quot; & gt; & lt; p & gt; California Chính phủ Jerry Brown (D) cho biết hôm Chủ nhật rằng Texas Sen. Ted Cruz (R-Texas) là & quot; hoàn toàn không phù hợp để hoạt động cho văn phòng & quot; vì vị trí của ông về biến đổi khí hậu. & lt;/p & gt; & lt; p & gt; & quot; Tôi vừa trở về từ New Hampshire, nơi có & # x27; tuyết và băng ở khắp mọi nơi. Quan điểm của tôi về điều này rất đơn giản: Các cuộc tranh luận về vấn đề này phải tuân theo khoa học và phải theo dõi dữ liệu và nhiều người trong số của các nhà báo động về sự nóng lên toàn cầu, họ gặp vấn đề vì khoa học doesn & # x27; t back them up, & quot; Cruz & lt; a href = & quot; https://www.youtube.com/watch?v=m0UJ_Sc0Udk">said</a> trên & quot; Đêm khuya với Seth Meyers & quot; cuối cùng tuần. & lt;/p & gt; & lt; p & gt; Để sao lưu khiếu nại của mình, Cruz trích dẫn dữ liệu vệ tinh đã cho thấy sự thiếu ấm đáng kể trên trong 17 năm qua.Nhưng Cruz & # x27; s lý do & lt; a href = & quot; http://www.politifact.com/truth-o-meter/statements/2015/mar/20 /ted-cruz/ted-cruzs-thế giới-lửa-không-kéo-17 năm/& quot; & gt; có được Politifact gỡ bỏ & lt;/a & gt ;, cho thấy rằng các nhà khoa học có bằng chứng dồi dào để tin rằng khí hậu sẽ tiếp tục làm ấm. & lt;/p & gt; & lt; p & gt; & quot; Những gì anh ta nói là hoàn toàn sai, ”Brown nói trên & lt; a href = & quot; http://www.nbcnews.com/meet-the-press/california-governor-ted-cruz- unfit-be-running-n328046 & quot; & gt; NBC & # x27; s & quot; Gặp gỡ Báo chí. & quot; & lt;/a & gt; Anh ấy thêm rằng & lt; a href = & quot; http://climate.nasa.gov/scientific-consensus/">over 90 phần trăm & lt;/a & gt; các nhà khoa học nghiên cứu khí hậu đồng ý rằng biến đổi khí hậu là do hoạt động của con người gây ra. & quot; Người đàn ông đó betokens mức độ vô minh như vậy và một sự giả mạo trực tiếp của dữ liệu khoa học hiện có. Nó & # x27; s gây sốc, và tôi nghĩ rằng người đàn ông đã cho thấy mình hoàn toàn không thích hợp để chạy cho văn phòng , & quot; Brown nói. & lt;/p & gt; & lt; p & gt; Nâu thêm rằng biến đổi khí hậu có & lt; a href = & quot; http://www.huffingtonpost.com/2015/03/06/california-drought-february- record_n_6820704.html? Utm_hp_ref = california-hạn chế & quot; & gt; gây ra hạn hán ở trạng thái của mình & lt;/a & gt ;, cũng như các cơn bão nặng và trên bờ biển phía đông. & lt;/p & gt; & lt; p & gt; Trong khi Cruz có thể đã thấy tuyết và băng ở khắp mọi nơi ở New Hampshire, dữ liệu cho thấy rằng đất nước đang thực sự trải qua một & lt; một href = & quot; http://www.huffingtonpost.com/2015/02/19/cold-weather- winter_n_6713104.html & quot; & gt; ấm hơn trung bình & lt;/a & gt; mùa đông. & lt;/p & gt; & lt; p & gt; Chỉ trích của Brown về Cruz đến một ngày trước ngày thượng nghị sĩ Texas được thiết lập để thông báo & lt; a href = & quot; http://www.huffingtonpost.com/2015/03/22 /ted-cruz-2016_n_6917824.html & quot; & gt; tổng thống chiến dịch & lt;/a & gt ;.& lt;/p & gt; & lt;/div & gt; & lt; div class = & quot; gốc & quot; & gt; & lt; a 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; script src = & quot; // code.jquery.com/jquery-latest.js & quot; & gt; & lt;/script & gt; & lt; script src = & quot; /static/js/modal.js & quot; & gt; & lt;/script & gt; & lt; script src = & quot; /static/js/bootbox.min.js & quot; & gt; & lt;/script & gt; & lt; script src = & quot; /static/js/site.js & quot; & gt; & lt;/script & gt; & lt; script & gt; (hàm (i, s, o, g, r, a, m) {i [& # x27; GoogleAnalyticsObject & # x27;] = r; i [r] = i [r] || function() { (i [r] .q = i [r] .q || []). đẩy (đối số)}, i [r] .l = 1 * new Ngày(); a = s.createElement (o), m = s.getElementsByTagName (o) [0]; a.async = 1; a.src = g; m.parentNode.insertBefore (a, m) }) (cửa sổ, tài liệu, & # x27; script & # x27 ;, & # x27; // www.google-analytics.com/analytics.js & # x27 ;, & # x27; ga & # x27;); ga (& # x27; tạo & # x27 ;, & # x27; UA-56.257.533-1 & # x27 ;, & # x27; auto & # x27;); ga (& # x27; gửi & # x27 ;, & # x27; pageview & # x27;); & lt;/script & gt; & lt;/body & gt; & lt;/html & gt;"