Ansi2Html

一个 Swift 库,用于将带有 ANSI 转义码的文本转换为 HTML。

转换的主要工作由 ANSIEsc2HTML 库完成。 此 SPM 包含该库的略微修改版本,复制于 2023/5/5。

用法

直接使用

您可以创建一个字符串构建器,并在构建器上直接使用转换方法。

import Ansi2Html

let builder = AnsiHtmlStringBuilder()

if builder.stringHasAnsi(stringWithAnsiCodes) {
    let html = builder.stringToHtml(stringWithAnsiCodes)
}

字符串扩展

为了方便起见,添加字符串扩展可能更有用。

import Ansi2Html

private let builder = AnsiHtmlStringBuilder()

extension String {
    
    var ansiToHtml: String {
        guard hasAnsi else { return self }
        
        return builder.stringToHtml(self)
    }
    
    var hasAnsi: Bool {
        builder.stringHasAnsi(self)
    }
    
}

在代码的其他地方,您可以使用 ansiToHtml 计算属性。

let html = stringWithAnsiCodes.ansiToHtml