私はリバースプロキシ経由のHTML応答のheadタグの下にネストされたすべての第1レベルのタグを取得しようとしています。私はnginx + luaを実行しているので、luaパターンマッチングの点での解決策は素晴らしいでしょう...Luaのマッチングの第1レベルのタグの内部<head>
今、私はheadタグの内部をストリングし、ネストされたタグを繰り返して追加します
local headOnly = string.sub(wholeHtmlResponse, startHead, endHead)
local tags = {}
for tag in string.gmatch(headOnly, '(<[^<>]*>)') do
tags[#tags+1]=tag
end
次に、「タグ」テーブルを繰り返して、すべての非第1レベルのタグを削除します。私は、タグ内の引数や内容、タグ自体には興味がありません。 私たちはライブリクエストについて話しています。リクエストの頭が十分に大きければ、これは遅くなるかもしれないと心配しています。
だから私はいくつかの関連質問がある:
- は十分に効率的string.gmatchですか?
- これをより効率的に行う方法/モジュールはありますか?
- 私自身のモジュールの作成を検討すべきでしょうか?
あなたにはどのような問題があるかわかりません。コードがうまくいけば、あなたはむしろ[codereview.se] –
に投稿したいと思います。後でそれを書き直すことを回避しようとしている、将来を計画している、話すこと。あなたの提案を試してみましょう! –
ちょうどFYI:あなたのコードが実際に動作していることが確かであれば、コードレビューで投稿してください。わからない場合は、問題の解決に役立つ[MVCE(最小完全検証可能な例)](http://stackoverflow.com/help/mcve)を投稿してください。 –