我有一个如下字符串 -
<html>
<head>
</head>
<body>
<p>***Some Text***.</p>
<p><iframe allowfullscreen="" frameborder="0" height="360" src="//www.some-domain.com/embed/mwOFWJUOpv8" width="600"></iframe></p></body>
我想将字符串底部的iframe
标记中的一些参数替换为 -
<iframe allowfullscreen="" frameborder="0" height="new vlaue" src="//www.some-domain.com/embed/mwOFWJUOpv8" width="new value"></iframe>
我可以使用所需的更改成功地从"<iframe"
到"</iframe>"
抓取字符串。我遇到问题用新字符串替换整个<iframe ...</iframe>
。
所以我的结果应该是这样的 -
<html>
<head>
</head>
<body>
<p>***Some Text***.</p>
<p><iframe allowfullscreen="" frameborder="0" height="new vlaue" src="//www.some-domain.com/embed/mwOFWJUOpv8" width="new value"></iframe></p></body>
编辑: - 我已采用this方式,但无法替换字符串中的整个iframe
标记。
请帮帮我!
答案 0 :(得分:1)
尝试这样的尝试。假设str是你帖子中提到的抓取字符串。
str = [str stringByReplacingOccurrencesOfString:@"width=\"600\"" withString:@"width=\"new value\""];
修改强>
NSString *theStr= @"<iframe allowfullscreen=\"\" frameborder=\"0\" height=\"360\" src=\"//www.some-domain.com/embed/mwOFWJUOpv8\" width=\"600\"></iframe>";
NSString *replacedStr = [theStr stringByReplacingOccurrencesOfString:@"width=\"600\"" withString:@"width=\"new value\""];
NSRange range1 = [sourceStr rangeOfString:@"<iframe"];
NSRange range2 = [sourceStr rangeOfString:@"iframe>"];
NSRange range3 = NSMakeRange(range1.location, range2.location + range2.length - range1.location);
NSString *finalStr = [sourceStr stringByReplacingCharactersInRange:range3 withString:replacedStr];