2010-09-13 67 views
0

需要过滤我们发誓输入到iPhone应用程序并插入到我们的数据库中的发誓词。在传递到我们的数据库之前,我想先了解一下。Objective-C中的发型过滤器:需要iPhone应用程序

目前,我正在使用: stringByReplacingOccurrencesOfString:@“发誓” withString:@“” 但这似乎效率不高,列出20+需要过滤的话。什么是最好的方法来解决这个问题?

这里是我完整的代码

NSUserDefaults *p = [NSUserDefaults standardUserDefaults]; 
NSString* string1 = [[p valueForKey:@"user"]   stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]; 
NSString* string2 = [[p valueForKey:@"pass"] stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]; 
NSString* string3 = [[[[[[[[[[[[[[tvA.text stringByReplacingOccurrencesOfString:@"\n" withString:@" "] stringByReplacingOccurrencesOfString:@"&" withString:@"and"] stringByReplacingOccurrencesOfString:@"ç" withString:@"c"] stringByReplacingOccurrencesOfString:@"+" withString:@"plus"] stringByReplacingOccurrencesOfString:@"swear" withString:@""] stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]; 
NSString* urlString = [NSString stringWithFormat:@"http://domain.com/qa.php?user=%@&pass=%@&id=%@&body=%@",string1,string2,[p valueForKey:@"a"],string3]; 
id val1 = [NSString stringWithContentsOfURL:[NSURL URLWithString:urlString]]; 
+1

嗨,所以你发送数据到webservice呢?如果是的话,那么在你的web服务中过滤这些单词会更容易,因为如果你想添加新的单词,你只需要在你的后端进行。否则,每个人都必须更新他的应用。 – sled 2010-09-13 16:36:38

+0

雪橇 - 我将如何过滤这些在我的PHP脚本? – BigMike 2010-09-13 16:37:23

+0

http://www.theregister.co.uk/2010/09/09/google_instant_blacklist/ – devio 2010-09-13 16:45:37

回答

0

要做到这一点,你正在做的方式,这将是更明智,以保持过滤字符串及其替代品的清单 - 你甚至可以使用外部plist文件。然后,您可以循环访问列表,随时更换,或者如果您在寻找更复杂的过滤器,请创建NSRegularExpression。

+0

查克,你能帮我用循环代码,以及如何实现? – BigMike 2010-09-13 18:20:58

相关问题