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

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

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

textview可以设置字体的粗体 斜体吗

textView 中的粗体/斜体样式文本输入

UnityTextMesh Pro

如何从字体面板(NSFontPanel)和颜色中仅检索字体样式(粗体,斜体,粗斜体)?

[Android开发]富文本TextView修改部分字体颜色大小加粗斜体下划线删除线,以及添加点击事件,插入本地或网络图片

如何使用 Sharedpreferences 存储 EditText 样式(粗体、斜体、颜色等)