人。 我只想加载网页的一部分,但我不能这样做。
来自俄罗斯论坛的人告诉我,我可以使用PHP,但我不能在我的iOS应用程序中创建它。 他发送了这段代码:
> <?php
> $url = "http://www.shesterenka.com";
> $unique_start = "<h1>";
> $unique_end = "</h1>";
> function weather($url, $unique_start, $unique_end) {
> $code = file_get_contents($url);
> preg_match('/'.preg_quote($unique_start,
> '/').'(.*)'.preg_quote($unique_end, '/').'/Us', $code, $match);
> return $match[1];
> }
> echo weather($url, $unique_start, $unique_end); ?>
非常感谢。
抱歉我的英语不好。
答案 0 :(得分:1)
您想在UIWebView上加载哪个部分?如果您知道需要在webView上显示哪些内容,请使用loadHTMLString方法加载。例如:
NSString* content = @"Hello World";
NSString* beforeBody = @"<html><head></head><body>";
NSString* afterBody = @"</body></html>";
NSString* finalContent = [[beforeBody stringByAppendingString:content]
stringByAppendingString: afterBody];
[webView loadHTMLString:finalContent baseURL:nil];
答案 1 :(得分:1)
这是一个有用的例子。它使用All See Interactive发出HTTP请求。
在头文件中我有:
#import <UIKit/UIKit.h>
#import "ASIHTTPRequest.h"
@interface testViewController : UIViewController <UIWebViewDelegate>{
UIWebView *webView;
}
@end
在实施文件中我有:
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad
{
[super viewDidLoad];
webView = [[UIWebView alloc] initWithFrame:CGRectMake(0.0, 0.0, self.view.frame.size.width, self.view.frame.size.height)];
[webView setDelegate:self];
[webView setScalesPageToFit:YES];
NSURL *url = [NSURL URLWithString:@"http://www.shesterenka.com"];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setDelegate:self];
[request startAsynchronous];
self.view = webView;
}
- (void)requestFinished:(ASIHTTPRequest *)request
{
// Use when fetching text data
NSString *responseString = [request responseString];
NSString *unique_start = @"<h1>";
NSRange i = [responseString rangeOfString:unique_start];
NSString *unique_end = @"</h1>";
NSRange j = [responseString rangeOfString:unique_end];
if(i.location != NSNotFound && j.location != NSNotFound)
{
NSString *weather = [responseString substringFromIndex:i.location];
weather = [responseString substringToIndex:j.location];
[webView loadHTMLString:weather baseURL:nil];
} else {
NSLog(@"strings not found");
}
}
- (void)requestFailed:(ASIHTTPRequest *)request
{
NSError *error = [request error];
NSLog(@"Error: %@",error);
}
答案 2 :(得分:0)
这不是加载网页的一部分,它正在加载整个html并返回部分内容。
$code = file_get_contents($url);
正在阅读整个网址的HTML。