こちらのアイデアがおもしろかったので、真似してみた。
こんな感じでエントリにコードを書いて
>|lua|
response.content_type = 'text/html'response.puts 'hello, world!'
< |
エントリのurlをパラメータとしてrun_luaに渡すとLuaのコードを実行する。
http://storehouse.quickvps.net/run_lua/?src=http://d.hatena.ne.jp/winebarrel/20080108/p1
例)みさくら誤変換
[実行]
--簡易みさくら誤変換機出張所(http://scrap.web.infoseek.co.jp/misakura.html)の --コードを利用させてもらいました function conv(url) local c ; open(url, function(f) c = f.read() c = nkf('-w -m0', c) c = string.gsub(c, 'src="/', 'src="'..url) c = string.gsub(c, 'href="/', 'href="'..url) c = misakura(c) end) return c end function misakura(c) c = string.gsub(c, '(気持|きも)ちいい', 'ぎも゛ぢい゛い゛ぃ'); c = string.gsub(c, '(大好|だいす)き', 'らいしゅきいぃっ'); c = string.gsub(c, '(ミルク|みるく|牛乳)', 'ちんぽミルク'); c = string.gsub(c, 'お(願|ねが)い', 'お願いぃぃぃっっっ゙'); c = string.gsub(c, 'ぁ', 'ぁぁ゛ぁ゛'); c = string.gsub(c, 'あ', 'ぁあああ あぉ'); c = string.gsub(c, 'お', 'お゙ぉおォおん'); c = string.gsub(c, 'ごきげんよう', 'ごきげんよぉおお!んおっ!んおおーーっ! '); c = string.gsub(c, 'ごきげんよう', 'ごきげんみゃぁあ゛あ゛ぁ゛ぁぁあ!!'); c = string.gsub(c, 'こん(にち|ばん)[はわ]', 'こん%1みゃぁあ゛あ゛ぁ゛ぁぁあ!!'); c = string.gsub(c, 'えて', 'えてへぇええぇ゙'); c = string.gsub(c, 'する', 'するの'); c = string.gsub(c, 'します', 'するの'); c = string.gsub(c, '精液', 'せーしっせーし でりゅぅ でちゃいましゅ みるく ちんぽみるく ふたなりみるく'); c = string.gsub(c, '射精', 'でちゃうっ れちゃうよぉおお゙'); c = string.gsub(c, '(馬鹿|バカ|ばか)', 'バカ!バカ!まんこ!!'); c = string.gsub(c, 'いい', 'いぃぃっよぉおお゙'); c = string.gsub(c, '[好す]き', 'ちゅき'); c = string.gsub(c, 'して', 'してぇぇぇぇ゛'); c = string.gsub(c, '行く', 'んはっ イっぐぅぅぅふうぅ'); c = string.gsub(c, 'いく', 'イっくぅぅふぅん'); c = string.gsub(c, 'イク', 'イッちゃううぅん'); c = string.gsub(c, '駄目', 'らめにゃのぉぉぉ゛'); c = string.gsub(c, 'ダメ', 'んぉほぉぉォォ らめぇ'); c = string.gsub(c, 'だめ', 'らめぇぇ'); c = string.gsub(c, 'ちゃん', 'ちゃぁん'); c = string.gsub(c, '(おい|美味)しい', '$1ひぃ…れしゅぅ'); c = string.gsub(c, '(た|る|ない)([。、 ・…!?!?」\n\r\x00])', '%1の%2'); c = string.gsub(c, 'さい([。、 ・…!?!?」\n\r\x00])', 'さいなの%1'); c = string.gsub(c, 'よ([。、 ・…!?!?」\n\r\x00])', 'よお゛お゛お゛ぉ%1'); c = string.gsub(c, 'もう', 'んもぉ゛お゛お゛ぉぉ'); c = string.gsub(c, '(い|入)れて', 'いれてえぇぇぇえ'); c = string.gsub(c, '(気持|きも)ちいい', 'きも゛ぢい゛〜っ'); c = string.gsub(c, '(がんば|頑張)る', '尻穴ちんぽしごき%1るぅ!!!'); c = string.gsub(c, '出る', 'でちゃうっ れちゃうよぉおお゙'); c = string.gsub(c, 'でる', 'でっ…でるぅでるうぅうぅ'); c = string.gsub(c, 'です', 'れしゅぅぅぅ'); c = string.gsub(c, 'ます', 'ましゅぅぅぅ'); c = string.gsub(c, 'はい', 'はひぃ'); c = string.gsub(c, 'スゴイ', 'スゴぉッ!!'); c = string.gsub(c, '(すご|凄)い', 'しゅごいのょぉぉぅ'); c = string.gsub(c, 'だ', 'ら'); c = string.gsub(c, 'さ', 'しゃ'); c = string.gsub(c, 'な', 'にゃ'); c = string.gsub(c, 'つ', 'ちゅ'); c = string.gsub(c, 'ちゃ', 'ひゃ'); c = string.gsub(c, 'じゃ', 'に゛ゃ'); c = string.gsub(c, 'ほ', 'ほお゛お゛っ'); c = string.gsub(c, 'で', 'れ'); c = string.gsub(c, 'す', 'しゅ'); c = string.gsub(c, 'ざ', 'じゃ'); c = string.gsub(c, 'い', 'いぃ'); c = string.gsub(c, 'の', 'のぉおお'); return c end response.content_type = 'text/html; charset=UTF-8' c = conv('http://q.hatena.ne.jp/') response.puts(c)
所感
hpricotはやっぱり重い気がするなぁ。。。