1

わかりました。現在アップデートに取り組んでいる既存のアプリがあります。私がやろうとしているのは、クライアントがWebサイトを更新すると、アプリが特定のページからテキストをプルしてUITextViewにテキストを表示することです。NavBarのテキストが含まれていることを除いて、正常に機能するこのアプローチを試していますか?では、テキストのみを取得し、NavBarを取得しないようにするにはどうすればよいですか?

   textView.text = [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.innerText"];
4

2 に答える 2

1

さて、私が見た時点から、あなたには2つの選択肢があります。ナビゲーション バーのテキストの長さがわかっていて、同じ文字長である場合は、次のように使用します。

NSString *webString = [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.innerText"];
int length = amount of characters to remove from beginning of string;
webString = [webString substringFromIndex:length];

削除したい量がわからない場合は、少し複雑ですがより柔軟な NSScanner を使用できます。

NSString *webString = [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.innerText"];
NSScanner *stringScanner = [NSScanner scannerWithString:webString];
NSString *content = [[NSString alloc] init];
while ([stringScanner isAtEnd] == NO) {

[stringScanner scanUpToString:@"Start of the text you want" intoString:null];
[stringScanner scanUpToString:@"End of the text you want" intoString:&content];
}

これが役立つことを願っています:D

于 2012-09-12T20:41:00.663 に答える
0

これが私が使用しようとしているコードです

NSString *webString = [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.innerText"];
NSScanner *stringScanner = [NSScanner scannerWithString:webString];
NSString *content = [[NSString alloc] init];
while ([stringScanner isAtEnd] == NO) {

    [stringScanner scanUpToString:@"Andalee" intoString:NULL];
    [stringScanner scanUpToString:@"Eastern Sun Dance Company Rehearsal Mondays 7:00pm @ Cal Arts Academy" intoString:&content];
    textView.text = webString; }

多分私はそれに間違って近づいています。これは、 http://andalee.com/andalee/CLASSES.htmlから取得しようとしている Web ページです。

于 2012-09-12T21:10:06.443 に答える