`
jsntghf
  • 浏览: 2532629 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

NSString的扩展类

    博客分类:
  • iOS
阅读更多

 NSString+XMLExtensions.h

 

#import <UIKit/UIKit.h>

@interface NSString(XMLExtensions) 

+ (NSString *) encodeXMLCharactersIn:(NSString *)source;
+ (NSString *) decodeXMLCharactersIn:(NSString *)source;

@end

 

NSString+XMLExtensions.m

 

#import "NSString+XMLExtensions.h"

@implementation NSString(XMLExtensions)

+ (NSString *)encodeXMLCharactersIn:(NSString *)source {
	if (![source isKindOfClass:[NSString class]] || !source)
		return @"";
	
	NSString *result = [NSString stringWithString:source];
	
	if ([result rangeOfString:@"&"].location != NSNotFound)
		result = [[result componentsSeparatedByString: @"&"] componentsJoinedByString: @"&amp;"];
	
	if ([result rangeOfString:@"<"].location != NSNotFound)
		result = [[result componentsSeparatedByString: @"<"] componentsJoinedByString: @"&lt;"];
	
	if ([result rangeOfString:@">"].location != NSNotFound)
		result = [[result componentsSeparatedByString: @">"] componentsJoinedByString: @"&gt;"];
	
	if ([result rangeOfString:@"\""].location != NSNotFound)
		result = [[result componentsSeparatedByString: @"\""] componentsJoinedByString: @"&quot;"];
	
	if ([result rangeOfString:@"'"].location != NSNotFound)
		result = [[result componentsSeparatedByString: @"'"] componentsJoinedByString: @"&apos;"];
	
	return result;
}

+ (NSString *) decodeXMLCharactersIn:(NSString *)source {	
	if (![source isKindOfClass:[NSString class]] || !source)
		return @"";
    
	NSString *result = [NSString stringWithString:source];
	
	if ([result rangeOfString:@"&amp;"].location != NSNotFound)
		result = [[result componentsSeparatedByString: @"&amp;"] componentsJoinedByString: @"&"];
	
	if ([result rangeOfString:@"&lt;"].location != NSNotFound)
		result = [[result componentsSeparatedByString: @"&lt;"] componentsJoinedByString: @"<"];
	
	if ([result rangeOfString:@"&gt;"].location != NSNotFound)
		result = [[result componentsSeparatedByString: @"&gt;"] componentsJoinedByString: @">"];
	
	if ([result rangeOfString:@"&quot;"].location != NSNotFound)
		result = [[result componentsSeparatedByString: @"&quot;"] componentsJoinedByString: @"\""];
	
	if ([result rangeOfString:@"&apos;"].location != NSNotFound)
		result = [[result componentsSeparatedByString: @"&apos;"] componentsJoinedByString: @"'"];
	
	return result;
}

@end

 

分享到:
评论

相关推荐

    NSString扩展类

    这个“NSString扩展类”是为了简化开发者的工作,将常见的字符串处理方法进行了封装,使得在处理复杂字符串任务时可以更高效、简洁。下面我们将详细探讨这个扩展类包含的知识点。 首先,`NSString+Addtions.h`文件...

    NSString扩展

    ### NSString扩展知识点解析 在iOS开发中,对基础类如`NSString`进行合理的扩展能够极大地提升代码的可读性和开发效率。以下是对“NSString扩展”文件中的知识点进行详细解析。 #### 文件基本信息 - **文件名**:`...

    NSString+Extended

    在iOS开发中,NSString是Objective-C中的一个基础类,用于处理和操作文本字符串。`NSString+Extended`通常指的是开发者为了增加NSString的功能而创建的一个类别(Category),它扩展了NSString的原有功能,提供了更...

    OC Extension NSString+FHXExtension(字符串扩展).zip

    /** * 返回文字的size * * @param font 文字大小 * * @param maxSize 限制的宽高 * * @return 返回Size */ ...+ (UIViewController*)stringChangeToClass:(NSString *)str; /** * MD5加密

    NSString+FileSize.zip

    `NSString+FileSize`是一个方便的扩展,它为NSString类添加了新的功能,使我们能够轻松地获取位于沙盒中的文件或文件夹的大小。在iOS应用中,由于安全性和隐私保护的原因,开发者只能访问特定的沙盒区域,而不能随意...

    NSString-Emoji:NSString (Emoji) 扩展了 NSString 类以提供与 Emoji 表情相关的自定义功能

    NSString (Emoji) 扩展了 NSString 类以提供与 Emoji 表情符号相关的自定义功能。 通过此类别,可以将转换为 unicode 表情符号字符,反之亦然(如果您需要将用户键入的消息发布到远程服务,则很有用)。 用法 只有...

    NSString+ToolString

    为了方便开发者在实际项目中快速地进行手机号、银行卡号、身份证号和邮箱等常见格式的校验,通常会扩展`NSString` 类,添加一些便捷的方法。这就是`NSString+ToolString` 的核心内容。 首先,我们来理解`NSString+...

    ios 类的扩展

    在iOS开发中,类的扩展(Extension)是一种强大的特性,它允许我们为现有的类添加方法、属性或协议,而无需继承。类扩展在Objective-C中称为分类(Category),而在Swift中被称为扩展(Extension)。这种机制使得...

    NSString-Hash:NSString Hash的扩展方法

    NSString哈希 NSString类别,用于MD5,SHA1,SHA256,SHA512哈希和具有较小内存使用量的文件的哈希 NSString哈希方法 string.md5String string.sha1String string.sha256String string.sha512String HMAC哈希方法...

    NSString富文本处理的demo

    首先,`NSString`的富文本处理主要依赖于`NSAttributedString`类和它的扩展`NSMutableAttributedString`。这两个类允许我们创建和修改带有属性的字符串,如设置特定部分的字体、颜色或者下划线样式。`...

    NSString+ReplaceUnicode

    在iOS开发中,NSString是处理文本数据的基本类,它提供了丰富的字符串操作方法。然而,当字符串中含有Unicode编码时,可能会遇到一些问题,如显示异常或处理困难。"NSString+ReplaceUnicode"是一个类别(Category)...

    NSString-HEX:NSString 类上的十六进制实用程序类别

    在Objective-C中,NSString是一个非常重要的类,它代表不可变的Unicode字符串。在某些场景下,我们需要对NSString进行一些特定的处理,比如将其转换为十六进制表示。`NSString-HEX`就是一个针对NSString的类别,提供...

    探索Objective-C的扩展之力:深入理解Extensions的使用

    以下是一个简单的例子,展示了如何为`NSString`类定义一个名为`Extension`的分类,以增加一个新的方法`isValidEmail:`。 ```objc // NSString+Extension.h #import @interface NSString (Extension) - (BOOL)...

    NSString-Validation:NSString 上用于检查有效性和转换字符串的类别

    通过扩展`NSString`类,我们可以创建类别(categories)来增加额外的方法,提高代码的复用性和可维护性。 首先,让我们理解`NSString`类别。在Objective-C中,类别允许我们给已存在的类添加方法,而无需继承。这...

    iOS分类以及工具类汇总

    例如,可以为NSString类添加一个计算字符串长度的方法,或者为UIImage类添加一个处理图片的便捷方法。分类通常用于对系统类进行功能扩展,避免过多的类别继承导致类层次结构复杂。 **工具类(Utility Class)** ...

    iOS类的分类方法

    这使得我们可以对系统类进行扩展,为它们注入自定义功能,或者整理代码,使其更加模块化。以下是对"iOS类的分类方法"的详细解释。 1. **类别定义** 类别定义通常以`@interface`开始,接着是目标类的名字,后面加上...

    iOS 基本类的扩展 加密

    本项目中,创建了对iOS基本类的扩展,特别是针对`NSString`和`NSData`,目的是为了方便地实现数据加密,主要涉及到MD5和SHA加密算法。 MD5(Message-Digest Algorithm 5)和SHA(Secure Hash Algorithm)是两种广泛...

    UITextField扩展

    1. **UITextField+Jex.h**:头文件声明了扩展类的方法签名。 2. **UITextField+Jex.m**:实现文件提供了具体的实现逻辑。 #### 类扩展详解 ##### 1. **UITextField (Jex)** 这是一个类别(Category)的实现,通过...

    NSData扩展

    因此,扩展`NSData`类以增强其功能是一种常见的实践。 #### 1. JSON处理能力 在`NSData`的扩展中,添加了`JSONData`、`dataWithJSONData:`以及`JSONString`三个方法,这使得`NSData`能够直接处理JSON数据。通过...

    UIApplication扩展

    从给定的文件信息来看,这是一份针对`UIApplication`类的扩展,主要涉及了对应用状态、资源管理、通知、通信以及文件操作等方面的增强功能。以下是对这些知识点的详细解析: ### UIApplication扩展概述 `...

Global site tag (gtag.js) - Google Analytics