4 mensajes Página 1 de 1
Bueno, esta función la hice principalmente para poder crear una tabla en base a un query que realizan los exploradores web con el método POST (pero pueden usarla para lo que quieran modificandola a su antojo). Aca un ejemplo de uno de estos queries:

http://www.server.com/index.php?user=myusername&pass=mypassword&other=myother

La cadena a filtrar es la señalada en rojo y se obtiene con el url.parse del luasocket ;)

Aca la función y la llamada:

function fexpose (t, d)
        local tb = {};
        for x, y in pairs(t) do
                local nP = string.find(y, d, 1, true)
                if nP then
                        tb[string.sub(y, 1, nP-1)] = string.sub(y, nP+1, -1)
                end
        end
        return tb;
end
function FilterRequest(s, d)--Lo mismo que el DelimitedToTable pero con otro nombre y llamada a la segunda función
        if not d or #d < 1 then return nil end
        local tbl = {};
        local sa = s;
        local sD = "";
        local nP = string.find(sa, d, 1, true)
        while nP do
                sD = string.sub(sa, 1, nP-1)
                table.insert(tbl, #tbl+1, sD)
                sa = string.sub(sa, nP+1, -1)
                nP = string.find(sa, d, 1, true)
        end
        if sa ~= "" then table.insert(tbl, #tbl+1, sa) end
        return fexpose(tbl, "=");
end
local ta = FilterRequest("user=myusername&pass=mypassword&other=myother", "&")
Dialog.Message("Usuario", ta.user)
Parsed in 0.003 seconds, using GeSHi 1.0.8.9


Como ven nos genera (retorna, regresa) una tabla asociativa (hash table) que podemos consultar mediante los nombres de sus miembros.

Ojala les agrade y sirva
muy, pero que muy interesante. muchas gracias.
gracias
Imagen
está bien, lo malo que no se que es una query...
4 mensajes Página 1 de 1

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron