added function unescape

This commit is contained in:
Akamaru 2015-06-25 22:10:29 +02:00
parent 69737edfd5
commit f3571e2091
2 changed files with 12 additions and 1 deletions

View File

@ -527,6 +527,17 @@ function load_from_file(file, default_data)
return result return result
end end
function unescape(str)
str = string.gsub( str, '&lt;', '<' )
str = string.gsub( str, '&gt;', '>' )
str = string.gsub( str, '&quot;', '"' )
str = string.gsub( str, '&apos;', "'" )
str = string.gsub( str, '&#(%d+);', function(n) return string.char(n) end )
str = string.gsub( str, '&#x(%d+);', function(n) return string.char(tonumber(n,16)) end )
str = string.gsub( str, '&amp;', '&' ) -- Be sure to do this after all others
return str
end
-- See http://stackoverflow.com/a/14899740 -- See http://stackoverflow.com/a/14899740
function unescape_html(str) function unescape_html(str)
local map = { local map = {

View File

@ -34,7 +34,6 @@ function run(msg, matches)
local header = "Tweet von " .. response.user.name .. " (@" .. response.user.screen_name .. ")\n" local header = "Tweet von " .. response.user.name .. " (@" .. response.user.screen_name .. ")\n"
local text = response.text local text = response.text
text = string.gsub(text, "&amp;", "&")
-- replace short URLs -- replace short URLs
if response.entities.url then if response.entities.url then
@ -58,6 +57,7 @@ function run(msg, matches)
-- send the parts -- send the parts
local receiver = get_receiver(msg) local receiver = get_receiver(msg)
local text = unescape(text)
send_msg(receiver, header .. "\n" .. text, ok_cb, false) send_msg(receiver, header .. "\n" .. text, ok_cb, false)
for k, v in pairs(images) do for k, v in pairs(images) do
local file = download_to_file(v) local file = download_to_file(v)