画像付きのテキストを表示する UIWebView を取得しようとしています。テキストの内部にはいくつかのリンクが含まれているため、たとえば次のようになります。
「私はかつて魚を飼っていました
http://mysite.com/images/fish.jpg
。小さな犬と雄鶏も飼っていましたhttp://mysite.com/images/dog.jpg
」
次のようになります。
私はかつて魚を飼っていた
----------------------------------
| |
|Fish Image From |
|http://mysite.com/images/fish.jpg|
| |
| |
----------------------------------
私は小さな犬とオンドリも飼っていました
----------------------------------
| |
|dog Image From |
|http://mysite.com/images/dog.jpg|
| |
| |
----------------------------------
--------------------------------------
| |
|rooster Image From |
|http://mysite.com/images/rooster.jpg|
| |
| |
--------------------------------------
NSMutableString *mutableString = [[NSMutableString alloc] initWithFormat:@"<html><head></head><body>%@</body>",string];
NSString *pattern = @"http://.+\\.(?:jpg|jpeg|png|gif|bmp)";
NSString *replacement = @"<br /><img style=\"width:100%;height:auto;\" src=\"$1\"/><br />";
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:pattern
options:0 error:NULL];
[regex replaceMatchesInString:mutableString
options:0
range:NSMakeRange(0, mutableString.length)
withTemplate:replacement];
しかし、結果を確認すると、画像は次のよう<br /><img style="width:100%;height:auto;" src=""/><br />
になり、リンクはなくなりました。
画像があるべき場所:
文章...
<br /><img style="width:100%;height:auto;" src="http://mysite.com/images/fish.jpg"/><br />
文章...
<br /><img style="width:100%;height:auto;" src="http://mysite.com/images/dog.jpg"/><br />
<br /><img style="width:100%;height:auto;" src="http://mysite.com/images/rooster.jpg"/><br />