将NSAttributedString转换为仅使用粗体和斜体的HTML

时间:2015-10-15 21:42:35

标签: html ios objective-c cocoa-touch nsattributedstring

我希望将NSAttributedString转换为HTML,但只保留粗体和斜体属性。我不关心字体系列,字体大小或类似的东西。

我基本上想转换: 前往 猎鹰

<b>Go</b> <em>Falcons</em>

有办法做到这一点吗?

1 个答案:

答案 0 :(得分:2)

我不确定这是否是一个可行的解决方案,但实现此目的的一种方法是枚举属性并浏览每个细分并制作自己的HTML。

 [str enumerateAttribute:NSFontAttributeName
                inRange:range
                options:NSAttributedStringEnumerationLongestEffectiveRangeNotRequired
             usingBlock:^(id value, NSRange range, BOOL *stop) {
               UIFont *currentFont = value;
               if ([currentFont.fontName rangeOfString:@"bold" options:NSCaseInsensitiveSearch]
                       .location != NSNotFound) {
                   //Do something with the string and range for bold? add tags and append in a different string
               } 
               // Similarly do something for for non-bold, itatlic or normal text. Keep Appending them in a string
             }];