将HTML实体如 › 转换为其Unicode等效字符。
有三种方法可以将 WSLHTMLEntities
添加到您的项目中
如果您使用iOS 5或更高版本并且对ARC感到满意,这很简单:
您可以在同一项目中看到一个示例。另一个目标,称为“WSLHTMLEntities示例”,只是展示了如何使用代码。
还有一个用于库的目标,称为“WSLHTMLEntities (Fast)”。正如其名称所示,这是一个更快的版本。除非性能至关重要,否则没有必要选择会产生更大二进制文件的此选项。
如果您使用iOS 8或更高版本,这很简单:
您可以在同一项目中看到一个示例。另一个目标,称为“WSLHTMLEntities 示例框架”,只是展示了如何使用代码。
如果您想按困难的老方法进行,只需将以下四个文件(或至少它们的引用)复制到您的项目中即可:
该项目既可以手动内存管理也可以使用ARC工作。
只有一个方法
+(NSString*)convertHTMLtoString:(NSString*)html;
我相信您可以想出如何使用它。
如果您喜欢,也可以使用实例方法
WSLHTMLEntities* parser = [[WSLHTMLEntities alloc] init];
NSString* out = [parser convertHTMLtoString:in];
如果您正在处理大量字符串,这可能稍微快一些。
WSLHTMLEntities现在是线程安全的。
该词法分析器基于CPAN(Perl)的HTML::Entities
。您可以通过genEntitiesLexer.pl
脚本来生成词法分析器和#define
,但只有当您想要添加新的实体或存在错误时才需要这样做。
它被以下应用程序使用:
如果您在使用它,请告知我。
我不确定是否足够从Perl版本中提取代码以实现“污染”,但我没有像谷歌那样的昂贵律师,所以我采取安全起见,使用相同的许可证——艺术许可证。基本上,您可以随意使用它,但如果提供了信用并提供推请求,将很受欢迎。
版权 2012-2014 Stephen Darlington. Wandle Software Limited. 保留所有权利。
该库是自由软件;您可以在与Perl相同的条款下重新分发或修改它。