2010-03-02 15 views
14

Internet'ten metin alıyorum ve html varlıkları içerir (ör. ó = ó). Bu metni özel bir iPhone hücresine göstermek istiyorum.Amaç-C: HTML varlıkları nasıl değiştirilir?

Özel bir hücreye UIWebView kullanmayı denedim ancak çok satırlı bir UILabel kullanmayı tercih ediyorum. Sorun şu HTML varlıkları değiştirmenin herhangi bir yolunu bulamıyorum.

+0

Bu soruyla ilk siz değilsiniz. Bu konuya bir göz atın: http://stackoverflow.com/questions/1105169/html-character-decoding-in-objective-c-cocoa – Shingoo

+0

Daha önce bu soruyu okudum, ancak bu kullanıcı sayısal HTML varlıkları istiyor Değiştirilmesi daha kolay olan Sayısal kod aynıdır ve sadece çevreleyen karakterleri değiştirmeniz gerekir. – arielcamus

cevap

36

NSString category for HTML adresime bakın. İşte yöntemler şunlardır:

- (NSString *)stringByConvertingHTMLToPlainText; 
- (NSString *)stringByDecodingHTMLEntities; 
- (NSString *)stringByEncodingHTMLEntities; 
- (NSString *)stringWithNewLinesAsBRs; 
- (NSString *)stringByRemovingNewLinesAndWhitespace; 
+2

Bu kategori Mac için Google Toolbox kategorisini kullanıyor görünüyor. – user1071136

+0

Evet, HTML öğelerini kodlamak/kod çözmek için GTM'yi kullanır. –

+0

Bu [https://github.com/mwaterfall/MWFeedParser/issues/72] sorunu nedir? – Praveenkumar

1

NSMutableStringreplaceOccurrencesOfString:withString:options:range: yöntemini kullanıyor musunuz? gtm_stringByUnescapingFromHTMLGTMNSString+HTML.h ve GTMNSString+HTML.m tanımlanan:

+0

Bu iletiyi kullanarak, çok ağır bir işin yerini alacak tüm olası dizeleri içeren bir dizi tanımlamak için beni zorla. Ancak, bu diziyi diğer programlama dilinde bulmaya çalışacağız ve Objective-C – arielcamus

12

Google Toolbox for Mac sizin için bunu yapacak bir iPhone uyumlu NSString ek içerir. Eğer .g içindeki _GTMDevLog ve #import "GTMDefines.h" çağrılarına yorum yaparsanız, bu iki dosyayı projenize eklemeniz yeterlidir.

+1

'da kullanacağım. _GTMDevLog; ne istersen kendin yapabilirsin. (Aşağıdaki dmaclach'a teşekkürler.) –

2

Matt Stevens cevabını genişletmek için (henüz yorum yapma yetkisine sahip olmadığımdan), kasten ayarlandığı için _GTMDevLog yorumunu yapmanız gerekmiyor. .

6

Sizin tarafınızdan verilen dizelerle html öğelerini değiştirebilen bir yöntem oluşturabilirsiniz. String olarak parametre göndererek bu yöntemi çağırmak için bu yöntemi çağırabilirsiniz.

İlgili konular