最新バージョンのsinatraとruby 1.9.3を実行しています
sinatra アプリでユーザーがカスタム正規表現を作成できるようにしました。
コード:
Posts.all(:message => %r{(?i)(.*)#{params[:searchterm]}(.*)})
#{params[:searchterm]}ユーザーがこれ以上正規表現を挿入できないようにするにはどうすればよいですか?
(ユーザーが検索すると、機能(.)*userしないはずの結果が得られます!
Regexp.escape変数値をエスケープするために使用します。
%r{(?i)(.*)#{Regexp.escape(params[:searchterm])}(.*)}