我有一些使用 UIWebview 显示的本地 HTML 和 CSS。我想合并搜索命中突出显示。
这是我的突出显示方法:
-(void) highlightsSearchTerm:(NSString *)searchTerm
{
NSString *highlightedSearchTerm = [NSString stringWithFormat:@"<span class='highlight'>%@</span>",searchTerm];
NSString *highlightedArticle = [article.articleHTML stringByReplacingOccurrencesOfString:searchTerm withString:highlightedSearchTerm options:NSCaseInsensitiveSearch range:NSMakeRange(0, [article.articleHTML length])];
article.articleHTML = highlightedArticle;
}
这样做的问题是它替换了,例如,Obama
用户的搜索查询,这可能是obama
(注意大小写)。我想在加入热门突出显示的同时保持原始文章的情况。
我希望有一个更优雅的解决方案,而不是手动查找每个命中项的开始和结束索引,然后<span class="highlights">
分别插入和 ''。
基本上我想要类似的东西:
+ [NSString stringByWrappingExistingString:(NSString *)stringToWrap withString:(NSString *)wrappingString options:NSCaseInsensitiveCompare];
有什么想法吗?