2017-08-06 43 views
0

我想显示在iOS应用下面的HTML文本如何斯威夫特解码HTML格式文本3

<p><span style="color: #000000;">Experience royalty in all its splendor</span><br /><span style="color: #000000;"> An address that is a possession of pride</span></p> 

我NSAttributedString尝试和附加字体在HTML字符串,但没有什么工作

let st:String = pjt.value(forKey: "description") as! String // Original content from API - "&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Experience royalty in all its splendor&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt; An address that is a possession of pride&lt;/span&gt;&lt;/p&gt;&lt;........" 

let desc:Data = st.data(using: String.Encoding.utf8, allowLossyConversion: true)! 
       //st.data(using: String.Encoding.utf16)! 
      do { 
       let attrStr = try NSAttributedString(data: desc, options: [NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType], documentAttributes: nil) 
       print("Attr STr \(attrStr)") 
       self.textView.attributedText = attrStr; 
      } 

它也没有在网页视图中工作与self.webView.loadHTMLString(st, baseURL: nil)

更新

Textview或webview或标签全部显示相同的纯html字符串<p><span style="color: #000000;">Experience royalty in all its splendor</span><br /><span style="color: #000000;"> An address that is a possession of pride</span></p>

任何帮助吗?

注意:斯威夫特3个

谢谢!

+0

显示一些额外的代码 –

+0

您'让ST:String'错误检查一次更新之前的字符串 –

+0

@ Anbu.Karthik好 – Gopik

回答

2

你的字符串是

"&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Experience royalty in all its splendor&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt; An address that is a possession of pride&lt;/span&gt;&lt;/p&gt;" 

编码为HTML实体的所有HTML标记。该字符串必须转换成

<p><span style="color: #000000;">Experience royalty in all its splendor</span><br /><span style="color: #000000;"> An address that is a possession of pride</span></p> 

之前将它传递给属性串。例如,这可以 使用stringByDecodingHTMLEntities方法来完成从How do I decode HTML entities in swift?

let st = (pjt.value(forKey: "description") as! String).stringByDecodingHTMLEntities 

(无关到当前的问题:强制投as! String 可以在运行时崩溃,如果该值不存在或不是一个字符串 。您应该使用可选的,而不是绑定)

+0

谢谢马丁!!!!!有用。 – Gopik