HTMLString
是一个用 Swift 编写的库,它允许你的程序在字符串中添加和移除 HTML 实体。
主要特性 | |
---|---|
🔏 | 为 ASCII 和 UTF-8/UTF-16 编码添加实体 |
📝 | 移除超过 2100 个命名实体 (例如 & ) |
🔢 | 支持移除十进制和十六进制实体 |
🐣 | 设计用于支持 Swift 扩展字形集群 (→ 100% 防 emoji) |
✅ | 完全单元测试 |
⚡ | 速度快 |
📚 | 有文档 |
🤖 | 兼容 Objective-C |
此软件包需要 Swift 5 和 Xcode 12。
将此行添加到你的 Package.swift
文件中
.Package(url: "https://github.com/alexaubry/HTMLString", from: "6.0.0")
将此行添加到你的 Podfile
文件中
pod 'HTMLString', '~> 6.0'
将此行添加到你的 Cartfile 文件中
github "alexaubry/HTMLString" ~> 6.0
HTMLString
允许你从字符串中添加和移除 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 实体,请使用 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"
通过 Obj-C 互操作性,你可以从 Objective-C 代码中导入和使用 HTMLString
模块。
该库在 NSString
类型上引入了一组特定于 Objective-C 的 API 作为类别
-[NSString stringByAddingUnicodeEntities];
: 将每个与 HTML Unicode 编码不兼容的字符替换为十进制 HTML 实体。-[NSString stringByAddingASCIIEntities];
: 将每个与 HTML ASCII 编码不兼容的字符替换为十进制 HTML 实体。-[NSString stringByRemovingHTMLEntities];
: 将每个 HTML 实体替换为匹配的 Unicode 字符。@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 文件。