在没有<;的情况下,如何在iPhone webView上加载html页面;img src=>;标签

在没有<;的情况下,如何在iPhone webView上加载html页面;img src=>;标签,iphone,html,uiwebview,Iphone,Html,Uiwebview,我以以下方式在web视图中加载html页面: NSString *description = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://www.mypage.html"] encoding:NSUTF8StringEncoding error:nil]; [self.webView loadHTMLString:pRova baseURL:nil]; - (NSString *)flattenHTML:(NS

我以以下方式在web视图中加载html页面:

NSString *description = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://www.mypage.html"] encoding:NSUTF8StringEncoding error:nil];
[self.webView loadHTMLString:pRova baseURL:nil];
- (NSString *)flattenHTML:(NSString *)html {
    NSScanner *theScanner;
    NSString *gt =nil;

    theScanner = [NSScanner scannerWithString:html];

    while ([theScanner isAtEnd] == NO) {
        // find start of tag
        [theScanner scanUpToString:@"<img" intoString:NULL] ; 

        // find end of tag
        [theScanner scanUpToString:@">" intoString:&gt] ;
    }

    html = [html stringByReplacingOccurrencesOfString:[ NSString stringWithFormat:@"%@>", gt] withString:@""];
    return html;
}  
我需要删除:

<img src="http://www.mypage/image" align="left" style="padding: 0px 10px 0px 0px; width: 301px; height: 280px;" alt="diaspora-uys" />

从NSString*description,显示不带图像且仅带文本的UIwebView。
我该怎么做

1/以字符串形式加载HTML内容

+(id)stringWithContentsOfURL:(NSURL*)url编码:(NSStringEncoding)enc错误:(NSError**)

2/删除字符串中的
标记

3/在webView上使用loadHTMLString

看看


除了在HTML字符串中查找
标记外,还可以执行替换
1/在字符串中加载HTML内容

+(id)stringWithContentsOfURL:(NSURL*)url编码:(NSStringEncoding)enc错误:(NSError**)

2/删除字符串中的
标记

3/在webView上使用loadHTMLString

看看


除了在HTML字符串中查找
标记外,您还可以执行替换
检查以在url方案上应用过滤器:

检查要在url方案上应用筛选器:

我是这样解决的:

NSString *description = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://www.mypage.html"] encoding:NSUTF8StringEncoding error:nil];
[self.webView loadHTMLString:pRova baseURL:nil];
- (NSString *)flattenHTML:(NSString *)html {
    NSScanner *theScanner;
    NSString *gt =nil;

    theScanner = [NSScanner scannerWithString:html];

    while ([theScanner isAtEnd] == NO) {
        // find start of tag
        [theScanner scanUpToString:@"<img" intoString:NULL] ; 

        // find end of tag
        [theScanner scanUpToString:@">" intoString:&gt] ;
    }

    html = [html stringByReplacingOccurrencesOfString:[ NSString stringWithFormat:@"%@>", gt] withString:@""];
    return html;
}  
-(NSString*)html:(NSString*)html{
NSScanner*扫描仪;
NSString*gt=nil;
扫描仪=[NSScanner SCANNER WITHSTRING:html];
while([扫描仪显示]==否){
//查找标记的开始
[扫描程序扫描字符串:@“intoString:>];
}
html=[html stringByReplacingOccurrencesOfString:[NSString stringWithFormat:@“%@>”,gt]withString:@”“;
返回html;
}  
我是这样解决的:

NSString *description = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://www.mypage.html"] encoding:NSUTF8StringEncoding error:nil];
[self.webView loadHTMLString:pRova baseURL:nil];
- (NSString *)flattenHTML:(NSString *)html {
    NSScanner *theScanner;
    NSString *gt =nil;

    theScanner = [NSScanner scannerWithString:html];

    while ([theScanner isAtEnd] == NO) {
        // find start of tag
        [theScanner scanUpToString:@"<img" intoString:NULL] ; 

        // find end of tag
        [theScanner scanUpToString:@">" intoString:&gt] ;
    }

    html = [html stringByReplacingOccurrencesOfString:[ NSString stringWithFormat:@"%@>", gt] withString:@""];
    return html;
}  
-(NSString*)html:(NSString*)html{
NSScanner*扫描仪;
NSString*gt=nil;
扫描仪=[NSScanner SCANNER WITHSTRING:html];
while([扫描仪显示]==否){
//查找标记的开始
[扫描程序扫描字符串:@“intoString:>];
}
html=[html stringByReplacingOccurrencesOfString:[NSString stringWithFormat:@“%@>”,gt]withString:@”“;
返回html;
}  

我已经修改了代码,它工作得很好。它只会删除src值。其余值和图像标记不会被修改

- (NSString *)flattenHTML:(NSString *)html {
    NSScanner *theScanner;
    NSString *gt = nil;
    NSString *temp = nil;
    theScanner = [NSScanner scannerWithString:html];

    while ([theScanner isAtEnd] == NO) {
        // find start of tag
        [theScanner scanUpToString:@"<img" intoString:&temp]; 

        //find the src tag
        [theScanner scanUpToString:@"src" intoString:&temp]; 

        [theScanner scanUpToString:@"=" intoString:&temp];

        [theScanner scanUpToString:@" " intoString:&gt];
        if (!gt) {
            [theScanner scanUpToString:@">" intoString:&gt];    
        }

        if (gt) {
            html = [html stringByReplacingOccurrencesOfString:[NSString stringWithFormat:@"%@",gt] withString:@"=\"\""];    
        }
    }

    return html;
}  
-(NSString*)html:(NSString*)html{
NSScanner*扫描仪;
NSString*gt=nil;
NSString*temp=nil;
扫描仪=[NSScanner SCANNER WITHSTRING:html];
while([扫描仪显示]==否){
//查找标记的开始
[扫描程序扫描字符串:@“intoString:>];
}
如果(gt){
html=[html stringByReplacingOccurrencesOfString:[NSString stringWithFormat:@“%@”,gt]withString:@“=\”\”;
}
}
返回html;
}  

我已经修改了代码,它工作得很好。它只会删除src值。其余值和图像标记不会被修改

- (NSString *)flattenHTML:(NSString *)html {
    NSScanner *theScanner;
    NSString *gt = nil;
    NSString *temp = nil;
    theScanner = [NSScanner scannerWithString:html];

    while ([theScanner isAtEnd] == NO) {
        // find start of tag
        [theScanner scanUpToString:@"<img" intoString:&temp]; 

        //find the src tag
        [theScanner scanUpToString:@"src" intoString:&temp]; 

        [theScanner scanUpToString:@"=" intoString:&temp];

        [theScanner scanUpToString:@" " intoString:&gt];
        if (!gt) {
            [theScanner scanUpToString:@">" intoString:&gt];    
        }

        if (gt) {
            html = [html stringByReplacingOccurrencesOfString:[NSString stringWithFormat:@"%@",gt] withString:@"=\"\""];    
        }
    }

    return html;
}  
-(NSString*)html:(NSString*)html{
NSScanner*扫描仪;
NSString*gt=nil;
NSString*temp=nil;
扫描仪=[NSScanner SCANNER WITHSTRING:html];
while([扫描仪显示]==否){
//查找标记的开始
[扫描程序扫描字符串:@“intoString:>];
}
如果(gt){
html=[html stringByReplacingOccurrencesOfString:[NSString stringWithFormat:@“%@”,gt]withString:@“=\”\”;
}
}
返回html;
}  

你说的“没有标签”是什么意思?对不起,我的意思是,我想加载这个页面:在没有显示图像的uiwebview中“没有标签”是什么意思?对不起,我的意思是,我想加载这个页面:在没有显示图像的uiwebview中,你的意思是这样的:NSString*descripione=[NSString stringWithContentsOfURL:[NSURL URLWithString:@“html页面”]编码:NSUTF8StringEncoding错误:nil];NSString*example=[example StringByReplacingOfString:[NSString stringWithFormat:@”“]with String:@”“];[self.webView loadHTMLString:descripione baseURL:nil];除了更换
之外,我觉得它还不错。这就是您需要跳过的完整标记。您的意思是:NSString*descripione=[NSString stringWithContentsOfURL:[NSURL URLWithString:@“html页面”]编码:NSUTF8StringEncoding错误:nil];NSString*example=[example StringByReplacingOfString:[NSString stringWithFormat:@”“]with String:@”“];[self.webView loadHTMLString:descripione baseURL:nil];除了更换
之外,我觉得它还不错。这就是您需要跳过的完整标记。