1
Luaでは、Nginxサーバーの応答ページのHTML出力を置き換えるために使用しています。 value = "*" HTMLタグを空にするため。Lua NginxはHTML出力を置き換えます
Luaが文字列を置き換えた後で、私のHTMLの終わりが失われてしまう問題があります。
のLuaコード:
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
}
Luaが交換されることを
HTMLコード:
<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>
Luaが実行され、出力はこの
ように見える体の内容を変更した後<div class="login-fields"><label id="username-lbl" for="username" class="">User Name</label> <input type="text" name="username" id="username" value=""/></div>
問題は、このHTMLコードはまた、それが正常にid="username" value=""
を空にしないが、私はHTMLもそれの後に来て、私はなぜわからない、これまでどのような緩い
class="validate-username" size="25"
不明な理由で削除されています。
(:?。*?)\ "" ' –
ありがとうございました。あなたは正しいですが、私の正規表現を修正してそれに合わせて問題を解決しました。D <3 – C0nw0nk