0

WebページのURLを指定すると、特定のクラスの開始<div>と終了の間にHTMLを取得する必要があります。</div>

ページのhtmlコード全体を文字列として返すことができれば、RegExを使用して、特定の<div>クラス間のHTML間を抽出し、それを文字列として返すことができると思います。

Objective-CとRegExesを使用してこれをどのように達成できますか?

4

2 に答える 2

1

構文解析の部分について、私はあなたのために3つの言葉を持っています:

試さないでください

HTMLの解析CthulhuWya(Jeff自身による)を読んで、この有名なSOの答えを見てください。ライブラリの場合は、HTML::Sanitizerを使用します

一方、ほとんどのプログラムは、解析時にHTMLの全体を予測する必要はなく、予測する必要もありません。実際、そのようにプログラムを設計することは、プログラムを数行のスクリプトから、適切にコーディングしてサポート。プログラマティックソリューションを作成するときは、リソースの支出を常に考慮する必要があります(おっと、非常に頻繁に、私も一般化しすぎています)。さらに、ハード境界は必ずしもHTML指向の制限である必要はありません。それらは、「これらのWebページのセットを操作する」、「これらのWebページからのこのデータを操作する」、「98%のユーザーが98%の時間で作業する」、または「OMG、これを作成する必要がある」のように単純な場合があります。次の1時間で働き、できる限り最善を尽くしてください。」

したがって、icanhazipのようなものを解析している場合は、それを選択できます。多分それが小さければ、それはうまくいくかもしれません。または、静的コンテンツを使用している場合。それはあなたが選ぶためのものです。幸運を!

于 2012-10-23T15:07:00.310 に答える
0

文字列が正規表現と一致するかどうかを確認できますNSPredicate

このコード_testは、がメールアドレスであるかどうかを確認します

-(BOOL)CheckInput:(NSString *)_text  
{  
    NSString *Regex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";  
    NSPredicate *emailTest = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@", Regex];   
    return [emailTest evaluateWithObject:_text];  
}  
于 2012-10-23T15:19:18.420 に答える