html - 从 NSString 中移除损坏的 HTML 标签

标签 html ios objective-c

我的网络服务返回 HTML 内容,有时 HTML 字符串可能包含不完整的 HTML 标签

e.g: "This is some broken html tag <b"

或类似的,

现在我正在将它转换为 NSAttributedString,因为不完整的标签会导致问题,如果我可以从 NSString 中删除这些不完整的 HTML 标签,就会解决这个问题,有什么建议吗?

最佳答案

试试这段代码

- (NSString *)removeIncompleteHTMLTagInString:(NSString *)HTMLString {
    NSArray *subStringByOpenTabs = [HTMLString componentsSeparatedByString:@"<"];
    NSArray *subStringByCloseTabs = [HTMLString componentsSeparatedByString:@">"];
    if (subStringByOpenTabs.count > subStringByCloseTabs.count) {
        return [HTMLString substringToIndex:(HTMLString.length - ((NSString *)[subStringByOpenTabs lastObject]).length) -1];
    }
    else {
        return HTMLString;
    }
}

测试:

NSLog(@"%@",[self removeIncompleteHTMLTagInString:@"This is some <xx> broken html tag<b"]);

输出是:"This is some <xx> broken html tag"

关于html - 从 NSString 中移除损坏的 HTML 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27243534/

相关文章:

html - Safari 浏览器在图像上显示模糊动画以实现缩放和不透明度 CSS 动画

objective-c - 使单元格的背景透明,而不使文本也透明

ios - 自定义委托(delegate)方法不适用于 iOS

iphone - 自定义 editingAccessoryView 行为不可预测

ios - 归档我的项目时,“无法导入桥接头”, 'file not found'

jquery - CSS 选择器 *= 不明确的 id + 区别

javascript - angular ng-checked 不适用于 radio

JavaScript 下拉函数重构

ios - iPad 中的 UIPrintInteractionController 给我两个警告

ios - 如何在模拟器中重置钥匙串(keychain)?