【问题标题】:Replace <ol> & <li> tags from html code with number in iOS 6在 iOS 6 中用数字替换 html 代码中的 <ol> 和 <li> 标签
【发布时间】:2013-04-25 15:11:26
【问题描述】:

我正在从服务器获取 html 代码,我想在 UITextView 中显示它。我需要解析 html 并在 UITextView 中显示纯文本。我正在使用下面的代码从这个post解析html

现在我需要用实际数字替换li 标签。我怎样才能做到这一点 ? 例如输入

<ol>
  <li>Coffee</li>
  <li>Tea</li>
  <li>Milk</li>
</ol>

输出应该是

  1. 咖啡
  2. 牛奶

【问题讨论】:

  • actual numbers 是什么意思?
  • 为什么不在网页视图中显示呢?
  • 我更新了我的问题
  • 我无法在网页视图中显示它,因为它以太小的字体显示内容。用户需要放大/缩小。
  • 您可以创建自己的 CSS 并在 Web 视图显示之前将其添加到 HTML 中,具体取决于 HTML 的内容。手动解析 HTML 以生成纯文本很困难。你需要写... UIWebView。

标签: html objective-c parsing ios6


【解决方案1】:

用以下替换你的函数,并传递你发布的 HTML 字符串 sn-p。

NSString *str = @"<ol>"
"<li>Coffee</li>"
"<li>Tea</li>"
"<li>Milk</li>"
"</ol>";

[self stringByStrippingHTML:str];

替换字符串并生成Desire输出的功能

- (NSString *)stringByStrippingHTML:(NSString *)inputString
{
    NSMutableString *outString;

    if (inputString)
    {
        outString = [[NSMutableString alloc] initWithString:inputString];

        if ([inputString length] > 0)
        {
            NSRange r;
            int index = 1;
            while ((r = [outString rangeOfString:@"<[^>]+>" options:NSRegularExpressionSearch]).location != NSNotFound)
            {
                if([[outString substringWithRange:r] isEqualToString:@"<li>"])
                {
                    outString = [[outString stringByReplacingCharactersInRange:r withString:[NSString stringWithFormat:@"\n %d. ",index++]] mutableCopy];
                }
                else
                    [outString deleteCharactersInRange:r];
            }
        }
    }
    return outString; 
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-01
    • 1970-01-01
    • 2012-03-13
    • 1970-01-01
    • 2012-09-09
    • 2013-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多