【发布时间】:2015-02-02 18:04:23
【问题描述】:
我需要从 NSString 中删除所有 HTML 格式,但我需要保留与字符串内容相关的任何
例如:
<p>Dogs: For dogs <10KGs use 1:1000 solution (1000 µg/ml) diluted to 5-10 ml.</p>
我需要阅读:
Dogs: For dogs <10KGs use 1:1000 solution (1000 µg/ml) diluted to 5-10 ml.
到目前为止,常见的方法是使用以下内容:
NSRange r;
NSString *s = [[self copy] autorelease];
while ((r = [s rangeOfString:@"<[^>]+>" options:NSRegularExpressionSearch]).location != NSNotFound)
s = [s stringByReplacingCharactersInRange:r withString:@""];
return s;
但是这种方法会导致:
狗:给狗
第一个 HTML 标记被正确剥离,但 关闭是它,因此删除了整个部分。
当
【问题讨论】:
-
HTML 包含不属于标签的
&lt;格式错误(它们应编码为&lt;)。因此,您正在尝试解析其中有错误的内容。这并不容易可靠。例如,如果输入包含<em,那么标签是否缺少右尖括号 (>) 或小于运算符? -
不幸的是,我无法控制传入 HTML 的格式。但是,我相当肯定它只会包含
、 和标签。
标签: ios objective-c regex cocoa