summaryrefslogtreecommitdiffstats
path: root/html.lua
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2014-09-14 00:18:12 +0000
committerTed Trask <ttrask01@yahoo.com>2014-09-14 00:18:12 +0000
commit4d01d2062c983ecd68044094d8d5effe712dcdd5 (patch)
tree7ff867718a2ee5d3f19e93db1702e98d5d3be308 /html.lua
parent6be0cb3a2f80a32ca7f1dc433b330b9e9ba25622 (diff)
downloadacf-lib-4d01d2062c983ecd68044094d8d5effe712dcdd5.tar.bz2
acf-lib-4d01d2062c983ecd68044094d8d5effe712dcdd5.tar.xz
Create html.url_encode function to percent-encode reserved characters
Diffstat (limited to 'html.lua')
-rw-r--r--html.lua10
1 files changed, 10 insertions, 0 deletions
diff --git a/html.lua b/html.lua
index 5b1b444..0b51a54 100644
--- a/html.lua
+++ b/html.lua
@@ -44,6 +44,16 @@ function mymodule.html_escape (text )
return (string.gsub (str, '"', "&quot;" ))
end
+-- percent-encode reserved characters according to RFC3986 (except space to '+')
+function mymodule.url_encode ( text )
+ local str = text or ""
+ str = string.gsub (str, "\n", "\r\n")
+ str = string.gsub (str, "([^%w ])",
+ function (c) return string.format ("%%%02X", string.byte(c)) end)
+ str = string.gsub (str, " ", "+")
+ return str
+end
+
-- return a name,value pair as a string.
local nv_pair = function ( name, value)
if ( name == nil ) then