Mengganti entitas HTML
Karena Anda menyimpan data dari Layanan Web, Anda dapat menggunakan kategori NSString ini untuk HTML seperti yang dijelaskan dalam posting ini: Objective-C: Cara mengganti HTML entitas?
(Entitas HTML adalah hal-hal seperti: ‘
- Selengkapnya tentang wikipedia)
Metode yang tersedia dalam kategori ini adalah:
- (NSString *)stringByConvertingHTMLToPlainText;
- (NSString *)stringByDecodingHTMLEntities;
- (NSString *)stringByEncodingHTMLEntities;
- (NSString *)stringWithNewLinesAsBRs;
- (NSString *)stringByRemovingNewLinesAndWhitespace;
Respon terhadap komentar
[NSAttributedString initWithHTML: documentAttributes:]
Menginisialisasi dan mengembalikan objek NSAttributedString baru dari HTML yang terdapat dalam objek data yang diberikan.
NSData* htmlData = [yourHTMLString dataUsingEncoding:NSUTF8StringEncoding]
NSAttributedString* theAttributedString = [[NSAttributedString alloc] initWithHTML:htmlData documentAttributes:NULL];
Saya menggunakan ini sepanjang waktu dan berfungsi dengan sempurna. Saya bahkan membuat makro darinya:
#define html2AttributedString(htmlString) \
[[[NSAttributedString alloc] initWithHTML:[(htmlString) dataUsingEncoding:NSUTF8StringEncoding] \
documentAttributes:NULL] autorelease]
Penggunaan:
NSAttributedString* attributedString = html2AttributedString(yourNSString);
Dan kemudian, Anda dapat membuat makro untuk warna, perataan, font, dll…
Untuk iOS, Anda dapat melihat halaman ini di mana mereka memberikan kamu penggantinya.
Metode initWithHTML kami bertujuan untuk mencocokkan output dari versi Mac dengan sempurna. Hal ini dapat dicapai untuk karakter dan saya memiliki pengujian unit yang memastikan ini tetap sempurna. Mengenai atribut ada banyak hal yang harus dilakukan sedikit berbeda di iOS untuk mendapatkan tampilan yang sama. Saya tidak akan mengganggu Anda dengan detailnya di sana.
person
Jean
schedule
25.03.2013
\u00f3
dalam literal string dievaluasi pada waktu kompilasi. Jika Anda memiliki data runtime yang memiliki pelolosan ini, maka data tersebut tidak akan ditafsirkan. Dan‘
bahkan bukan sebuah string escape; itu adalah entitas HTML. - person Lily Ballard   schedule 26.03.2013