代码过滤富文本的粗体 斜体 颜色 空格

Posted heyuchang666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了代码过滤富文本的粗体 斜体 颜色 空格相关的知识,希望对你有一定的参考价值。

开发聊天过程中,可能会用到 lua 过滤富文本的粗体 斜体 颜色的逻辑。比较简单直接看代码


---过滤富文本的Size
---@param text string
function StringUtil.filterRichTextSize(text)
    local replaceText, number = string.gsub(text, "<size=[0-9]+>(.-)</size>", "%1")
    if number > 0 then
        return replaceText
    else
        return text
    end
end

---过滤富文本的粗体
---@param text string
function StringUtil.filterRichTextBold(text)
    local replaceText, number = string.gsub(text, "<b>(.-)</b>", "%1")
    if number > 0 then
        return replaceText
    else
        return text
    end
end

---过滤富文本的颜色
---@param text string
function StringUtil.filterRichTextColor(text)
    local replaceText, number = string.gsub(text, "<color=#[a-zA-Z0-9]+>(.-)</color>", "%1")
    if number > 0 then
        return replaceText
    else
        return text
    end
end

---过滤富文本的斜体
---@param text string
function StringUtil.filterRichTextItalic(text)
    local replaceText, number = string.gsub(text, "<i>(.-)</i>", "%1")
    if number > 0 then
        return replaceText
    else
        return text
    end
end

---过滤文本前后的空格
---@param text string
function StringUtil.filterTextSpace(text)
    local replaceText, number = string.gsub(text, "^%s*(.-)%s*$", "%1")
    if number > 0 then
        return replaceText
    else
        return text
    end
end

---过滤文本中所有的空格
---@param text string
function StringUtil.filterAllTextSpace(text)
    local replaceText, number = string.gsub(text, " ", "")
    if number > 0 then
        return replaceText
    else
        return text
    end
end

以上是关于代码过滤富文本的粗体 斜体 颜色 空格的主要内容,如果未能解决你的问题,请参考以下文章