Created
October 18, 2011 14:31
-
-
Save sonsongithub/1295562 to your computer and use it in GitHub Desktop.
Why html tags won't be removed....?
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@implementation NSString(hoge) | |
- (NSMutableString*)stringByEliminatingHTMLTag { | |
int i = 0; | |
NSMutableString* str = [NSMutableString string]; | |
UniChar *p = (UniChar*)CFStringGetCharactersPtr((CFStringRef)self); | |
int length = [self length]; | |
BOOL isCopied = NO; | |
if (p == NULL) { | |
p = (UniChar*)malloc(sizeof(UniChar) * length); | |
[self getCharacters:p]; | |
isCopied = YES; | |
} | |
assert(p != NULL); | |
BOOL addFlag = YES; | |
for(i = 0; i< ([self length]); i++) { | |
if (*(p + i) == 0x3C) { | |
addFlag = NO; | |
} | |
else if (*(p + i) == 0x3E) { | |
addFlag = YES; | |
} | |
else if (addFlag) { | |
CFStringAppendCharacters((CFMutableStringRef)str, p+i, 1); | |
} | |
NSLog(@"%C", *(p + i)); | |
NSLog(@"%@", str); | |
} | |
if (isCopied) | |
free(p); | |
return str; | |
} | |
+ (void)test { | |
NSString *sample = @"<font size=+1 color=#FF0000><b>書きこみ&クッキー確認</b></font><ul><br><br><b> </b><br>名前: <br>E-mail: sage<br>内容:<br>sage<br><br></ul><b>投稿確認<br>・投稿者は、投稿に関して発生する責任が全て投稿者に帰すことを承諾します。<br>・投稿者は、話題と無関係な広告の投稿に関して、相応の費用を支払うことを承諾します<br>21条ないし第28<br>対して再許諾する権利を含みます)を許諾しないことを承諾します。<br>・投稿者は、掲示板運営者あるいはその指定する者に対して、著作者人格権を一切行使しないことを承諾します。<br><br></b><form method=POST action=\"../test/bbs.cgi?guid=ON\"><input type=hidden name=subject value=\"\"><input TYPE=hidden NAME=FROM value=\"\"><input TYPE=hidden NAME=mail value=\"sage\"><input type=hidden name=MESSAGE value=\"sage\"><input type=hidden name=bbs value=newsplus><input type=hidden name=time value=1318941809><input type=hidden name=key value=1318932938><input type=hidden name=\"kibi\" value=\"dango\"><br><input type=submit value=\"上記全てを承諾して書き込む\" name=\"submit\"><br></form><br><br>現在、荒らし対策でクッキーを設定していないと書きこみできないようにしています。<br><font size=-1>(cookieを設定するとこの画面はでなくなります。)</font><br>"; | |
NSLog(@"%@", [sample stringByEliminatingHTMLTag]); | |
} | |
@end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment