我的项目包中有一个HTML模板。它的结构是这样的,我需要将参数传递给各种%@,如图所示
@"<h3>Test</h3>"
"<div style=\"color:#000;margin:5px;padding:4px;font-family:HelveticaNeueLTPro-LtCn;font-size:16;\">Name: %@</div>"
"<div style=\"color:#000;margin:5px;padding:4px;font-family:HelveticaNeueLTPro-LtCn;font-size:16;\">City: %@</div>"
"<div style=\"color:#000;margin:5px;padding:4px;font-family:HelveticaNeueLTPro-LtCn;font-size:16;\">Country: %@</div>"
我已经完成了类似的功能,其中我的模板是一个XML文件,我使用DDXMLParser写入模板。是否有任何这样的解析器可以让我写入HTML模板。
答案 0 :(得分:1)
您可以先从文件中读取字符串,然后使用stringWithFormat:
NSFileHandle *fileHandle = [NSFileHandle fileHandleForReadingAtPath:filePath];
// Read whole content
NSData *data = [fileHandle readDataToEndOfFile];
NSString *templateString = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease];
[fileHandle closeFile];
// Replace here
NSString *htmlString = [NSString stringWithFormat:templateString, param1, param2, param3];
答案 1 :(得分:1)
只需使用普通字符串插值
NSString *template = @"<h3>Test</h3>"
"<div style=\"color:#000;margin:5px;padding:4px;font-family:HelveticaNeueLTPro-LtCn;font-size:16;\">Name: %@</div>"
"<div style=\"color:#000;margin:5px;padding:4px;font-family:HelveticaNeueLTPro-LtCn;font-size:16;\">City: %@</div>"
"<div style=\"color:#000;margin:5px;padding:4px;font-family:HelveticaNeueLTPro-LtCn;font-size:16;\">Country: %@</div>";
NSLog(@"%@", [NSString stringWithFormat:template, @"Paul", @"Leeds", @"UK"]);