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];
何かご意見は?