Objective C HTML escape/unescape
2023-12-05 17:54:10
質問
Objective Cで簡単なHTMLエスケープ/アネスケープを行う簡単な方法があるかどうか疑問に思っています。私が欲しいのはこのような疑似的なコードです。
NSString *string = @"<span>Foo</span>";
[string stringByUnescapingHTML];
を返す
<span>Foo</span>
うまくいけば、他のすべてのHTMLエンティティも、そしてӒなどのASCIIコードもアンエスケープされます。
Cocoa Touch/UIKitにこれを行うためのメソッドはあるのでしょうか?
どのように解決するのですか?
これは リンク には、以下のような解決策が書かれています。Cocoa CFにはCFXMLCreateStringByUnescapingEntities関数がありますが、iPhoneでは使用できません。
@interface MREntitiesConverter : NSObject <NSXMLParserDelegate>{
NSMutableString* resultString;
}
@property (nonatomic, retain) NSMutableString* resultString;
- (NSString*)convertEntitiesInString:(NSString*)s;
@end
@implementation MREntitiesConverter
@synthesize resultString;
- (id)init
{
if([super init]) {
resultString = [[NSMutableString alloc] init];
}
return self;
}
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)s {
[self.resultString appendString:s];
}
- (NSString*)convertEntitiesInString:(NSString*)s {
if (!s) {
NSLog(@"ERROR : Parameter string is nil");
}
NSString* xmlStr = [NSString stringWithFormat:@"<d>%@</d>", s];
NSData *data = [xmlStr dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];
NSXMLParser* xmlParse = [[[NSXMLParser alloc] initWithData:data] autorelease];
[xmlParse setDelegate:self];
[xmlParse parse];
return [NSString stringWithFormat:@"%@",resultString];
}
- (void)dealloc {
[resultString release];
[super dealloc];
}
@end
関連
-
[解決済み] Objective-CでNSStringsを連結するためのショートカット集
-
[解決済み] リンクのように動作するHTMLボタンを作成する方法
-
[解決済み] HTML 5: Is it <br>, <br/>, or <br />?
-
[解決済み] HTMLのid属性に有効な値は何ですか?
-
[解決済み] How can I set the default value for an HTML <select> element?
-
[解決済み] HTMLページからのリダイレクト
-
[解決済み] SwiftからObjective-Cのコードを呼び出すにはどうしたらいいですか?
-
[解決済み] XML文書でエスケープする必要がある文字は何ですか?
-
[解決済み】なぜHTMLは "chucknorris "を色と見なすのか?
-
[解決済み】「推奨アイコンファイルがありません - バンドルには、ちょうど「120x120」ピクセル、.png 形式の iPhone / iPod Touch 用のアプリアイコンが含まれていません。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Objective-CでENUMを定義して使用するにはどうすればよいですか?
-
[解決済み] iOS UITableViewのHeaderView(セクションヘッダーではない)を追加する
-
[解決済み] iOSでHTMLをNSAttributedStringに変換する
-
[解決済み] iPhoneでMonoTouchは禁止になったのか?[クローズド]
-
[解決済み] iOSアプリでドキュメントフォルダ内にフォルダを作成する
-
[解決済み] UITableViewのセクション間のスペースを小さくする
-
[解決済み] CALayer setNeedsDisplayInRect:] の暗黙のアニメーションを無効にする。
-
[解決済み] Mac OS Xのスタティック・ライブラリ(.a)のターゲット・アーキテクチャはどのように決定するのですか?
-
[解決済み] UIScrollViewをコンテンツに合わせて自動サイズ調整する方法
-
[解決済み] Objective-C / Cocoa TouchでのHTML文字デコード