HTMLString 6.0.1

HTMLString 6.0.1

测试已测试
语言语言 SwiftSwift
许可协议 MIT
发布最新发布2020 年 10 月
SPM支持 SPM

Alexis Aubry Radanovic 维护。



HTMLString Swift 5.0 CocoaPods Carthage compatible Contact : @_alexaubry

HTMLString 是一个用 Swift 编写的库,允许您的程序在字符串中添加和删除 HTML 实体。

主要功能
🔏 为 ASCII 和 UTF-8/UTF-16 编码添加实体
📝 移除超过 2100 个命名的实体(如 &
🔢 支持移除十进制和十六进制实体
🐣 设计用于支持 Swift 扩展字符簇(→ 100% 表情符号验证通过)
全面单元测试
快速
📚 已文档化
🤖 与 Objective-C 兼容

支持的平台

此软件包需要 Swift 5 和 Xcode 12。

  • iOS 9.0+
  • macOS 10.10+
  • tvOS 9.0+
  • watchOS 2.0+
  • Linux

安装

Swift Package Manager

请将以下行添加到您的 Package.swift

.Package(url: "https://github.com/alexaubry/HTMLString", from: "6.0.0")

CocoaPods

将此行添加到您的 Podfile 文件中

pod 'HTMLString', '~> 6.0'

Carthage

将此行添加到您的 Cartfile 文件中

github "alexaubry/HTMLString" ~> 6.0

使用方法

HTMLString 允许您向字符串中添加和删除 HTML 实体。

🔏添加 HTML 实体(转义)

当一个字符不支持指定编码时,库将用十进制实体(由所有支持 HTML 4 及以后版本的浏览器支持)替换它。

例如,& 字符将被替换为 &

您可以选择 ASCII 或 Unicode 转义

  • 使用 addingASCIIEntities 函数转义 ASCII 编码内容
  • 使用 addingUnicodeEntities 函数转义与 Unicode 兼容的内容

💡 专业技巧:当您的支持 UTF-8 或 UTF-16 时,使用 Unicode 转义,因为它更快,产生的输出更紧凑。

示例

import HTMLString

let emoji = "My favorite emoji is 🙃"
let escapedEmoji = emoji.addingASCIIEntities() // "My favorite emoji is 🙃"
let noNeedToEscapeThatEmoji = emoji.addingUnicodeEntities() // "My favorite emoji is 🙃"

let snack = "Fish & Chips"
let escapedSnack = snack.addingASCIIEntities() // "Fish & Chips"
let weAlsoNeedToEscapeThisSnack = snack.addingUnicodeEntities() // "Fish & Chips"

📝移除 HTML 实体(反转义)

要从一个字符串中删除所有 HTML 实体,请使用 removingHTMLEntities 函数。

示例

import HTMLString

let escapedEmoji = "My favorite emoji is 🙃"
let emoji = escapedEmoji.removingHTMLEntities() // "My favorite emoji is 🙃"

let escapedSnack = "Fish & Chips"
let snack = escapedSnack.removingHTMLEntities() // "Fish & Chips"

Objective-C API

通过Obj-C交互,你可以在Objective-C代码中导入并使用HTMLString模块。

该库在NSString类型上引入了一系列Objective-C特定API,作为类别。

  • -[NSString stringByAddingUnicodeEntities];:用十进制HTML实体替换每个不符合HTML Unicode编码的字符。
  • -[NSString stringByAddingASCIIEntities];:用十进制HTML实体替换每个不符合HTML ASCII编码的字符。
  • -[NSString stringByRemovingHTMLEntities];:用对应的Unicode字符替换每个HTML实体。

转义示例

@import HTMLString;

NSString *emoji = @"My favorite emoji is 🙃";
NSString *escapedEmoji = [emoji stringByAddingASCIIEntities]; // "My favorite emoji is 🙃"

NSString *snack = @"Fish & Chips";
NSString *escapedSnack = [snack stringByAddingUnicodeEntities]; // "Fish & Chips"

反转义示例

@import HTMLString;

NSString *escapedEmoji = @"My favorite emoji is 🙃";
NSString *emoji = [escapedEmoji stringByRemovingHTMLEntities]; // "My favorite emoji is 🙃"

NSString *escapedSnack = @"Fish & Chips";
NSString *snack = [escapedSnack stringByRemovingHTMLEntities]; // "Fish & Chips"

作者

许可

HTMLString可在MIT许可下使用。有关更多信息,请参阅LICENSE文件。