Замена HTML-сущностей
Поскольку вы сохраняете данные из веб-службы, вы можете использовать эту категорию NSString для HTML., как описано в этом сообщении: Objective-C: Как заменить HTML сущности?
(Сущности HTML - это такие вещи, как: ‘
- Подробнее в википедии)
В категории доступны следующие методы:
- (NSString *)stringByConvertingHTMLToPlainText;
- (NSString *)stringByDecodingHTMLEntities;
- (NSString *)stringByEncodingHTMLEntities;
- (NSString *)stringWithNewLinesAsBRs;
- (NSString *)stringByRemovingNewLinesAndWhitespace;
Ответ на комментарии
[NSAttributedString initWithHTML: documentAttributes:]
Инициализирует и возвращает новый объект NSAttributedString из HTML, содержащегося в заданном объекте данных.
NSData* htmlData = [yourHTMLString dataUsingEncoding:NSUTF8StringEncoding]
NSAttributedString* theAttributedString = [[NSAttributedString alloc] initWithHTML:htmlData documentAttributes:NULL];
Я использую это все время, и он отлично работает. Я даже сделал из него макрос:
#define html2AttributedString(htmlString) \
[[[NSAttributedString alloc] initWithHTML:[(htmlString) dataUsingEncoding:NSUTF8StringEncoding] \
documentAttributes:NULL] autorelease]
Использование:
NSAttributedString* attributedString = html2AttributedString(yourNSString);
А затем вы можете создать макрос для цвета, выравнивания, шрифта и т. Д.
Для iOS вы можете посетить эту страницу, на которой они дают вам замена.
Наши методы initWithHTML нацелены на то, чтобы полностью соответствовать выходным данным версии для Mac. Этого можно добиться для персонажей, и у меня есть модульные тесты, которые гарантируют, что это будет идеально. Что касается атрибутов, есть много вещей, которые нужно сделать в iOS немного по-другому, чтобы добиться того же внешнего вида. Я не буду утомлять вас подробностями.
person
Jean
schedule
25.03.2013
\u00f3
в строковых литералах оцениваются во время компиляции. Если у вас есть данные времени выполнения, в которых есть эти escape-последовательности, они не будут интерпретироваться. И‘
даже не escape-последовательность; это объект HTML. - person Lily Ballard   schedule 26.03.2013