HTMLString Swift 5.0 CocoaPods Carthage compatible Contact : @_alexaubry

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

主要特性
🔏 为 ASCII 和 UTF-8/UTF-16 编码添加实体
📝 移除超过 2100 个命名实体 (例如 &)
🔢 支持移除十进制和十六进制实体
🐣 设计用于支持 Swift 扩展字形集群 (→ 100% 防 emoji)
完全单元测试
速度快
📚 有文档
🤖 兼容 Objective-C

支持的平台

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

安装

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 转义

💡 小贴士:当你的内容支持 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 作为类别

转义示例

@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 文件。