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

相關文章
相關標籤/搜索