【问题标题】:Get HTML body text only, no tags仅获取 HTML 正文,无标签
【发布时间】:2014-09-18 12:00:36
【问题描述】:

我没有网络开发/设计方面的背景或任何知识,我目前正在 iPhone 上开发一个电子邮件客户端应用程序,使用 UIWebView 来读取/写入电子邮件。

我将电子邮件作为对象下载并从该对象中获取主题、日期、地址和正文,但电子邮件正文是带有标签的 HTML 字符串。

我的目标:将电子邮件正文视为没有标签的普通字符串,例如 iPhone 邮件应用程序或 Gmail 应用程序。

这是一个很好的例子:

谢谢!

【问题讨论】:

  • 查看本教程,它说明了如何在 ios 中解析 html:RayWenderlich

标签: html ios objective-c email uiwebview


【解决方案1】:

NSAttributedStringUITextViewLabel 一起使用

NSString *oldHTMLstring = @"<b>Testing</b>.<br><i>html</i>,<br><u>body text.</u>";
NSAttributedString *newHTMLstring = [[NSAttributedString alloc] initWithData:[oldHTMLstring dataUsingEncoding:NSUTF8StringEncoding] options:@{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType, NSCharacterEncodingDocumentAttribute: @(NSUTF8StringEncoding)} documentAttributes:nil error:nil];

[textView setAttributedText:newHTMLstring]; // sets attributed text
[textView setText:[newHTMLstring string]]; // sets normal text

这会自动将 HTML 转换为适当的文本

【讨论】:

  • 这看起来是最好的答案,但这就是我得到的:测试{ NSColor = "UIDeviceRGBColorSpace 0 0 0 1"; NSFont = " font-family: \"Times.与编码有关吗?还是文档属性?谢谢!
  • 我需要你的html。它应该能正确解析。
  • 测试
    html,
    正文。
  • 你在textView.attributedText = string;中设置了不需要查字符串
  • textView 中设置为textView.attributedText = string; 工作正常
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多