カスタム スマイリー (画像) でテキストを表示するために UIWebview で NSString を表示していますが、UIWebview は \n、\r、\t、空白、&、<、> などの特殊文字を検出できないため、問題が発生しました。 NSString を HTML 文字列に変換して UIWebView にロードする方法は?
質問する
3330 次
4 に答える
3
そのための組み込みのソリューションはありません。HTML エンティティをエンコードする必要があります。ニーズに合ったNSString-HTMLと呼ばれるオープンソース プロジェクトがあります。
ここには、 Google のツールボックスに基づく優れた NSString カテゴリもあります。
于 2013-04-08T09:43:35.523 に答える
1
実際、これには組み込みのソリューションがあります... NSAttributedStringで。これを簡単にする NSString のカテゴリを次に示します。
@interface NSString (HTMLString)
- (NSString *)HTMLString;
@end
@implementation NSString (HTMLString)
- (NSString *)HTMLString {
NSDictionary * const exportParams = @{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType};
NSAttributedString *attributed = [[NSAttributedString alloc] initWithString:self];
NSData *htmlData = [attributed dataFromRange:NSMakeRange(0, attributed.length) documentAttributes:exportParams error:nil];
return [[NSString alloc] initWithData:htmlData encoding:NSUTF8StringEncoding];
}
@end
于 2015-02-24T23:40:06.237 に答える
0
あなたはICUトランスフォーメーションを探しています。この機能は、CFString API 関数 CFStringTransform() にラップされています。変換オプション Any-Hex を使用します。エスケープする必要があるグリフのみの NSCharacterSet を作成して最適化することができます。
于 2013-04-08T12:09:46.673 に答える