-1

我希望经过身份验证的管理员用户能够在 Web 表单中输入用于替换的变量。输入“email <<eric>>or <<jeremy>>” 将用变量eric 和jeremy 的内容替换<<eric>>and 。<<jeremy>>

eric = "<a href='mailto:eric.roberts@example.com'>Eric Roberts</a>"
jeremy = "<a href='mailto:jeremy.smith@example.com'>Jeremy Smith</a>"
blurb = params[:my_input].gsub(/<<(\w+)>>/, "\#{\1}")

没有工作,也没有使用 $1 或 eval。输出将重新显示在网站上。只要管理员可以使用这些快捷方式变量,分隔符就不重要了。

4

1 回答 1

0

也许将替换字符串存储在散列中更容易,键是替换字符串的名称。IE:

substitutions = {
  'eric' => "<a href='mailto:eric.roberts@example.com'>Eric Roberts</a>",
  'jeremy' => "<a href='mailto:jeremy.smith@example.com'>Jeremy Smith</a>"
}

match = params[:my_input].match(/<<(\w+)>>/)
blurb = substitutions[match[1]] if match
于 2013-10-09T13:07:48.570 回答