Извлеките все теги <script>из файла HTML и сохраните их в NSArray - Objective C - PullRequest
1 голос
/ 26 марта 2012

Я пытаюсь получить src всех тегов скрипта и хочу сохранить это в массиве.Я действительно застрял с этим, любая помощь будет очень признательна.

    <script type="text/javascript" src='//ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js'></script>
    <script type="text/javascript" src='static/tabthemes/js/json2.js'></script>
    <script type="text/javascript" src='static/tabthemes/js/underscore.min.js'></script>
    <script type="text/javascript" src='static/tabthemes/js/backbone.min.js'></script>
    <script type="text/javascript" src='static/tabthemes/js/mustache.js'></script>
    <script type="text/javascript" src='static/tabthemes/js/jquery.wipetouch.js'></script>
    <script type="text/javascript" src='/static/tabthemes/js/spin.js'></script>

Кто-нибудь, пожалуйста, помогите мне с этим !!(

Ответы [ 2 ]

2 голосов
/ 26 марта 2012

Вы также можете попробовать грязный способ: разбить строку на некоторые отмеченные вами маркеры (здесь я использую src=', а затем последнюю цитату).Он работает со строкой, которую вы дали, но это не очень безопасно.Вы должны предпочесть метод регулярного выражения, приведенный ранее.

Вот фрагмент кода, который вы можете попробовать:

    NSMutableArray *retArray = [[NSMutableArray alloc] init];
    NSArray *components = [string componentsSeparatedByString:@"src='"];
    for(int i = 1; i < components.count; i++)
    {
        NSArray *innerComponents = [[components objectAtIndex:i] componentsSeparatedByString:@"'"];
        [retArray addObject:[innerComponents objectAtIndex:0]];
    }
2 голосов
/ 26 марта 2012

Вы можете попробовать с NSRegularExpression, например .:

NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@" src='([^.]*)'" options:NSRegularExpressionCaseInsensitive error:&error];

, затем проверьте NSRegularExpression ссылка , чтобы найти способы сопоставления с фактическими данными. В вашем случае метод

- (NSArray *)matchesInString:(NSString *)string options:(NSMatchingOptions)options range:(NSRange)range

должен делать именно то, что вы после.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...