Я пытаюсь скормить Mail.app несколько простых HTML: списки, полужирный шрифт, курсив. Однако я заметил, что если я использую символы вроде £
, то Mail.app просто ничего не показывает. Я понял, что мне нужно конвертировать в HTML-объекты, например £
(полный список здесь: http://www.w3schools.com/tags/ref_entities.asp).. У меня есть частичное решение, которое подходит для большинства символов, которые придумали мои пользователи, но это далеко не единственное исправление :
- (NSString*) makeValidHTML:(NSString*)str {
str = [str stringByReplacingOccurrencesOfString:@"£" withString:@"£"];
str = [str stringByReplacingOccurrencesOfString:@"¢" withString:@"¢"];
str = [str stringByReplacingOccurrencesOfString:@"¥" withString:@"¥"];
str = [str stringByReplacingOccurrencesOfString:@"©" withString:@"©"];
str = [str stringByReplacingOccurrencesOfString:@"®" withString:@"®"];
str = [str stringByReplacingOccurrencesOfString:@"°" withString:@"°"];
str = [str stringByReplacingOccurrencesOfString:@"¿" withString:@"¿"];
str = [str stringByReplacingOccurrencesOfString:@"¡" withString:@"¡"];
str = [str stringByReplacingOccurrencesOfString:@"‘" withString:@"'"];
str = [str stringByReplacingOccurrencesOfString:@"'" withString:@"'"];
str = [str stringByReplacingOccurrencesOfString:@"&" withString:@"&"];
str = [str stringByReplacingOccurrencesOfString:@"\"" withString:@"""];
str = [str stringByReplacingOccurrencesOfString:@"“" withString:@"""];
str = [str stringByReplacingOccurrencesOfString:@"<" withString:@"<"];
str = [str stringByReplacingOccurrencesOfString:@">" withString:@">"];
return str;
}
Есть ли стандартный способ сделать это без перечисления всех возможных зарезервированных символов?