簡體   English   中英

沒有HTML標記的NSString

[英]NSString without HTML markup

我有一個JSON數據,並且我希望將此JSON數據轉換為NSString而無需HTML標記。

這是我的JSON數據:

<p><strong style="font-size: 13px;">13th March</strong></p>
<p><span id="fbPhotoSnowliftCaption" class="fbPhotosPhotoCaption" tabindex="0" data-ft="{"tn":"K"}"><span class="hasCaption">Peak is solid 6ft + a bit wild but not a breath of wind around. Rossnowlagh will be the pick of the beaches. Very good surf forecast all weekend and into the middle of next week</span></span>.</p>
<p><span id="more-113"></span></p>
<p>High tide: 10:56, 3.2m    <span style="color: #ff0000;"> <a href="http://www.bundoransurfco.com/webcam/"><strong></strong></a></span></p>
<p>Low Tide: 16:32, 1.4m</p>
<p><b>3 day forecast to March 16th</b></p>
<p>Windy midweek but the surf is looking very good from Friday onward, right through the weekend.</p>
        <style type='text/css'>

我想得到這種NSString:

13th March
Peak is solid 6ft + a bit wild but not a breath of wind around. Rossnowlagh will be the pick of the beaches. Very good surf forecast all weekend and into the middle of next week.
High tide: 10:56, 3.2m
Low Tide: 16:32, 1.4m
3 day forecast to March 16th
Windy midweek but the surf is looking very good from Friday onward, right through the weekend.

我已經使用stripHtml進行了測試,但是使用它之后,我的NSString剛剛: 13th March

這是我的代碼(報告的文本始終在#gallery-1之前,因此這不是問題所在……但是我認為帶有一些html標記...(因為使用不同的標記可以!):

NSString* stringBDD = [[dicoBDD objectForKey:@"post"] objectForKey:@"content"];
NSString *stringWithoutLiveWebcam = [stringBDD stringByReplacingOccurrencesOfString:@"CLICK HERE FOR LIVE PEAK WEBCAM" withString:@""];
NSString *stringReportFirstPart = [[stringWithoutLiveWebcam componentsSeparatedByString:@"#gallery-1"] firstObject];
NSString* stringWithoutHtml = [stringReportFirstPart stripHtml];
NSLog(@"stringWithoutHtml : %@", stringWithoutHtml);

您可以使用正則表達式</?[^>]*>匹配HTML標簽。 使用帶有正則表達式的stringByReplactingMatchesInString和空字符串替換,可以刪除標簽。

@interface NSString (HTML)
- (NSString *)stripTags;
@end

@implementation NSString (HTML)
- (NSString *)stripTags {
  NSError *error = nil;
  NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"</?[^>]*>"
                                                                         options:0
                                                                           error:&error];
  if (error == nil) {
    return [regex stringByReplacingMatchesInString:self
                                           options:0
                                             range:NSMakeRange(0, self.length)
                                      withTemplate:@""];
  } else {
    return self;
  }
}
@end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM