Lua的htmlspecialchars与htmlspecialchars_decode

local function htmlspecialchars(str)
    local html = {
        ["<"] = "&lt;",
        [">"] = "&gt;",
        ["&"] = "&amp;",
    }
    return string.gsub(tostring(str), "[<>&]", function(char)
        return html[char] or char
    end)
end

local function htmlspecialchars_decode(str)
    local html = {
        ["&lt;"] = "<",
        ["&gt;"] = ">",
        ["&amp;"] = "&",
    }
    return string.gsub(tostring(str), "%b&;", function(char)
        return html[char] or char
    end)
end

--'%b()' 匹配以 '(' 开始,以 ')' 结束的字符串html

相关文章
相关标签/搜索