1

我的项目包中有一个 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 模板。

4

2 回答 2

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];
于 2013-04-15T10:18:12.467 回答
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"]);
于 2013-04-15T10:25:28.547 回答