Parent Directory
|
Revision Log
First Import
//
// NSMutableString.m
// OMEMailViewer
//
// Created by 新居雅行 on 07/02/11.
// Copyright 2007 __MyCompanyName__. All rights reserved.
//
#import "OMECategory.h"
@implementation NSMutableString ( OME )
- (void)linkedHTML
{
[self replaceOccurrencesOfRegularExpressionString:
@"(s?https?://[-_.!~*'()a-zA-Z0-9;/?:@&=+$,%#]+)"
withString:@"<a href=\"\\0\">\\0</a>"
options:NSCaseInsensitiveSearch
range:NSMakeRange(0, [self length])];
[self replaceOccurrencesOfRegularExpressionString:
@"([a-zA-Z0-9!$&*.=^`|~#%'+\\/?_{}-]+@[a-zA-Z0-9_\\.\\-]+)"
withString:@"<a href=\"mailto:\\0\">\\0</a>"
options:NSCaseInsensitiveSearch
range:NSMakeRange(0, [self length])];
}
- (void) convertHTMLSource
{
[self replaceOccurrencesOfString:@"&" withString:@"&"
options:NSCaseInsensitiveSearch range:NSMakeRange(0, [self length])];
[self replaceOccurrencesOfString:@"<" withString:@"<"
options:NSCaseInsensitiveSearch range:NSMakeRange(0, [self length])];
[self replaceOccurrencesOfString:@">" withString:@">"
options:NSCaseInsensitiveSearch range:NSMakeRange(0, [self length])];
[self replaceOccurrencesOfString:[NSString stringWithCString:"\r\n"] withString:@"<br>"
options:NSCaseInsensitiveSearch range:NSMakeRange(0, [self length])];
[self replaceOccurrencesOfString:[NSString stringWithCString:"\n"] withString:@"<br>"
options:NSCaseInsensitiveSearch range:NSMakeRange(0, [self length])];
[self replaceOccurrencesOfString:[NSString stringWithCString:"\r"] withString:@"<br>"
options:NSCaseInsensitiveSearch range:NSMakeRange(0, [self length])];
}
- (void) appendAsHTMLSource:(NSString *)aString
{
[self appendAsHTMLSource:aString tag:nil attributes:nil];
}
- (void) appendAsHTMLSource:(NSString *)aString tag:(NSString *)aTag
{
[self appendAsHTMLSource:aString tag:aTag attributes:nil];
}
- (void) appendAsHTMLSource:(NSString *)aString tag:(NSString *)aTag attributes:(NSDictionary *)Attributes
{
if ( aString == nil ) aString = @"";
NSMutableString* converted =[NSMutableString stringWithCapacity: 100];
[converted setString: aString];
[converted convertHTMLSource];
[converted encloseByTag:aTag attributes:Attributes];
[self appendString:converted];
}
- (void)PreAppendAsHTMLSource:(NSString *)aString;
{
[self PreAppendAsHTMLSource:aString tag:nil attributes:nil];
}
- (void)PreAppendAsHTMLSource:(NSString *)aString tag:(NSString *)aTag;
{
[self PreAppendAsHTMLSource:aString tag:aTag attributes:nil];
}
- (void)PreAppendAsHTMLSource:(NSString *)aString tag:(NSString *)aTag attributes:(NSDictionary *)Attributes
{
if ( aString == nil ) aString = @"";
NSMutableString* converted =[NSMutableString stringWithCapacity: 100];
[converted setString:aString];
[converted convertHTMLSource];
[converted encloseByTag:aTag attributes:Attributes];
[self PreAppendString:converted];
}
- (void)PreAppendString:(NSString *)aString
{
[self insertString:aString atIndex:0];
}
- (void)encloseByTag:(NSString *)aTag
{
[self encloseByTag:aTag attributes:nil];
}
- (void)encloseByTag:(NSString *)aTag attributes:(NSDictionary *)Attributes
{
if ( aTag != nil ) {
NSMutableString* expandAttrs =[NSMutableString stringWithCapacity: 100];
[expandAttrs setString:@""];
if ( Attributes != nil ) {
NSEnumerator* enumerator = [Attributes keyEnumerator];
id key;
while (( key = [enumerator nextObject] ))
[expandAttrs appendFormat:@" %@=\"%@\"", key, [Attributes objectForKey: key]];
}
[self insertString:[NSString stringWithFormat:@"<%@%@>",aTag,expandAttrs] atIndex:0];
[self appendFormat:@"</%@>",aTag];
}
}
@end
| This site is managed by Masayuki Nii. | ViewVC Help |
| Powered by ViewVC 1.0.5 |