-1

我有一些包含“ #”标志内的图像链接的文本,我需要用真实图像替换图像链接的出现。
例如:

#http://mysite.com/images/fox.jpg#懒狗跳的敏捷棕狐#http://mysite.com/images/dog.jpg#

所以这需要解析成两个文本块:

The big brown fox

jumped of the lazy dog 

和两个单独的链接:

http://mysite.com/images/fox.jpg

http://mysite.com/images/dog.jpg

我可以用什么来在 Xcode 中实现这个目标?

4

3 回答 3

3

<img>您可以使用正则表达式轻松地将 URL 替换为标签:

NSString *string = @"The quick brown fox #http://mysite.com/images/fox.jpg# jumped of the lazy dog #http://mysite.com/images/dog.jpg#";
NSMutableString *mutableString = [NSMutableString stringWithString:string];
NSString *pattern = @"#(http.*?)#";
NSString *replacement = @"<img src=\"$1\"/>";
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:pattern options:0 error:NULL];
[regex replaceMatchesInString:mutableString
                      options:0
                        range:NSMakeRange(0, mutableString.length)
                 withTemplate:replacement];
于 2013-01-31T11:17:12.320 回答
1

这是一个快速的方法:

NSString *sentence = @"The quick brown fox #http://mysite.com/images/fox.jpg# jumped of the lazy dog #http://mysite.com/images/dog.jpg#";
NSArray *stringBits = [sentence componentsSeparatedByString: @"#"];

每次有哈希字符时,这都会拆分句子。之后,您可以编写一个方法来检测 NSString 是否为链接。也请查看文档

于 2013-01-31T11:04:41.637 回答
0

如果可能,在服务器端编辑字符串,例如使用 , 作为分隔符。然后你的字符串看起来像这样

敏捷的棕狐,# http ://mysite.com/images/fox.jpg#,从懒狗身上跳了下来,# http: //mysite.com/images/dog.jpg#。在此之后在您的代码中使用这些行。

NSArray *arr = [str componentSeparatedBy:@","];
一个接一个地取出字符串并检查每个字符串是否有 http 。基于http使用链接

于 2013-01-31T11:12:14.507 回答