Also mit Lua verwende ich es, um die HTML-Ausgabe von einer Antwort-Seite von einem Nginx-Server zu ersetzen. Um einen Wert = "*" HTML-Tag leer zu machen.Lua Nginx ersetzt HTML-Ausgabe
Das Problem ist, ich bleibe das Ende meiner HTML verlieren, nachdem Lua die Zeichenfolge ersetzt und macht, was immer zwischen den Zitaten der Rest meines HTML in der gleichen Zeile leer ist, nachdem das weg ist.
Lua Code:
body_filter_by_lua_block {
local body = ngx.arg[1] --Put body into local var
local htmlvaluetomakeempty = "id=\"username\" value="
local loginpagematch = ngx.re.match(body, "" .. htmlvaluetomakeempty .. "\"(?:.*)\"") --Search through body to see if our html match is found
if loginpagematch then --If not empty
body = ngx.re.gsub(body, "" .. htmlvaluetomakeempty .. "\"(?:.*)\"", "" .. htmlvaluetomakeempty .. "\"\"") --.. loginpagematch["match"])
ngx.arg[1] = body
end
}
HTML-Code, dass Lua ersetzen wird:
<div class="login-fields"><label id="username-lbl" for="username" class="">User Name</label> <input type="text" name="username" id="username" value="test" class="validate-username" size="25"/></div>
Nach Lua ausgeführt wurde und modifiziert, um die Körper Inhalt der Ausgang
wie diese sieht<div class="login-fields"><label id="username-lbl" for="username" class="">User Name</label> <input type="text" name="username" id="username" value=""/></div>
Das Problem ist, dieser HTML-Code auch für einen unbekannten Grund
class="validate-username" size="25"
Es macht erfolgreich, nachdem es id="username" value=""
leer, aber ich verlieren, was immer HTML kam zu entfernt worden ist, und ich bin nicht sicher, warum.
Wahrscheinlich nicht gierige Spiel in gsub erforderlich ist: ' "\"(?.? *) \ "" ' –
Danke, dass du richtig bist, habe meine Regex geändert, um das zu erreichen und das Problem wurde gelöst: D <3 – C0nw0nk