Hallo.
Ich steh wohl grad voll auf der Leitung, deshalb bitte um Hilfe
Und zwar:
Alles anzeigen
so läuft alles blendend, alle Umlaute sind drin. Finde es aber etwas unschön. Würde das gerne mit NSAttributedString machen und mir dann einfach den NSString herausholen, und zwar so:
Alles anzeigen
Jetzt enthält auch wieder lyricsStr den HTML string, allerdings sind die Umlaute jetzt "kaputt". also statt ß ist es dann Ä¥ und sowas hässliches...
Weiß da jemand weiter?
Herzlichen Dank,
Matthias
Ich steh wohl grad voll auf der Leitung, deshalb bitte um Hilfe

Und zwar:
Quellcode
- NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://lyricwiki.org/%@:%@",[artistEsc capitalizedString],[songNameEsc capitalizedString]]];
- NSData *data = [NSData dataWithContentsOfURL:url]; //capitalize and percent escaped
- NSString *entireHTML = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
- if (entireHTML != nil)
- {
- NSRange lyricboxRange = [entireHTML rangeOfString:@"<div class='lyricbox' >"];
- if (lyricboxRange.location != NSNotFound)
- {
- NSString *lyricsStr = [entireHTML substringFromIndex:lyricboxRange.location + lyricboxRange.length];
- NSRange endBoxRange = [lyricsStr rangeOfString:@"<p><!--"];
- if (endBoxRange.location != NSNotFound)
- {
- lyricsStr = [lyricsStr substringToIndex:endBoxRange.location];
- } else //other ending of box
- {
- endBoxRange = [lyricsStr rangeOfString:@"</div>"];
- lyricsStr = [lyricsStr substringToIndex:endBoxRange.location];
- }
- lyricsStr = [lyricsStr stringByReplacingOccurrencesOfString:@"<br>" withString:@"\n"];
- lyricsStr = [lyricsStr stringByReplacingOccurrencesOfString:@"<br />" withString:@"\n"];
- lyricsStr = [lyricsStr stringByReplacingOccurrencesOfString:@"<br/>" withString:@"\n"];
- [lyrics release];
- lyrics = [lyricsStr copy];
- }
- }
- [entireHTML release];
so läuft alles blendend, alle Umlaute sind drin. Finde es aber etwas unschön. Würde das gerne mit NSAttributedString machen und mir dann einfach den NSString herausholen, und zwar so:
Quellcode
- NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.lyricwiki.org/Spider%20Murphy%20Gang:Skandal%20Im%20Sperrbezirk"]]; //capitalize and percent escaped
- NSString *entireHTML = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
- if (entireHTML != nil)
- {
- NSRange lyricboxRange = [entireHTML rangeOfString:@"<div class='lyricbox' >"];
- if (lyricboxRange.location != NSNotFound)
- {
- NSString *lyricsStr = [entireHTML substringFromIndex:lyricboxRange.location + lyricboxRange.length];
- NSRange endBoxRange = [lyricsStr rangeOfString:@"<p><!--"];
- if (endBoxRange.location != NSNotFound)
- {
- lyricsStr = [lyricsStr substringToIndex:endBoxRange.location];
- } else //other ending of box
- {
- endBoxRange = [lyricsStr rangeOfString:@"</div>"];
- lyricsStr = [lyricsStr substringToIndex:endBoxRange.location];
- }
- data = [lyricsStr dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];
- NSAttributedString *atstr = [[NSAttributedString alloc] initWithHTML:data baseURL:nil documentAttributes:nil];
- lyricsStr = [[[atstr string] retain] autorelease];
- [atstr release];
- }
- }
- [entireHTML release];
Jetzt enthält auch wieder lyricsStr den HTML string, allerdings sind die Umlaute jetzt "kaputt". also statt ß ist es dann Ä¥ und sowas hässliches...
Weiß da jemand weiter?
Herzlichen Dank,
Matthias
