替换<;ol>&&书信电报;李>;iOS 6中带有数字的html代码中的标记
我正在从服务器获取html代码&我想在UITextView中显示它。我需要解析html&在UITextView中显示纯文本。我正在使用下面的代码来解析这个 现在我需要用实际数字替换替换<;ol>&&书信电报;李>;iOS 6中带有数字的html代码中的标记,html,objective-c,parsing,ios6,Html,Objective C,Parsing,Ios6,我正在从服务器获取html代码&我想在UITextView中显示它。我需要解析html&在UITextView中显示纯文本。我正在使用下面的代码来解析这个 现在我需要用实际数字替换li标记。我该怎么做? e、 g.投入 <ol> <li>Coffee</li> <li>Tea</li> <li>Milk</li> </ol> 咖啡 茶 牛奶 输出应该是 咖啡 茶 牛奶 将函数替换为以
li
标记。我该怎么做?
e、 g.投入
<ol>
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ol>
咖啡
茶
牛奶
输出应该是
将函数替换为以下内容,并传递已发布的HTML字符串片段
NSString *str = @"<ol>"
"<li>Coffee</li>"
"<li>Tea</li>"
"<li>Milk</li>"
"</ol>";
[self stringByStrippingHTML:str];
NSString*str=@“”
“咖啡 ”
“茶 ”
“牛奶 ”
"";
[self-stringByStrippingHTML:str];
函数替换字符串并生成所需输出
- (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;
}
-(NSString*)stringByStrippingHTML:(NSString*)inputString
{
NSMutableString*突出显示;
如果(输入字符串)
{
outString=[[NSMutableString alloc]initWithString:inputString];
如果([inputString长度]>0)
{
NSRange;
int指数=1;
while((r=[outString rangeOfString:@“]+>”选项:NSRegularExpressionSearch])。位置!=NSNotFound)
{
if([[outString substringWithRange:r]IsequalString:@“”]))
{
outString=[[outString StringByReplacingCharactersRange:r with字符串:[NSString stringWithFormat:@“\n%d.”,index++]]mutableCopy];
}
其他的
[超出删除字符范围:r];
}
}
}
回报突出;
}
你所说的实际数字是什么意思?为什么不改为在web视图中显示?我更新了我的问题我不能在web视图中显示它,因为它以太小的字体显示内容。用户需要放大/缩小。您可以创建自己的CSS,并在web视图显示之前将其添加到HTML中,这首先取决于HTML的内容。手动解析HTML以生成纯文本是很困难的。你需要写。。。UIWebView。