0

我正在为想要从文本字段中过滤电子邮件地址的客户工作,在该字段中分析每个文本并将电子邮件地址替换为#####$$$$.

感谢您提前提供的帮助。

4

1 回答 1

1

您可以在带有正则表达式的文本中找到所有电子邮件地址,例如/\S*\@\S*/在 Rubular 上测试,可能并不完美),然后用您选择的任何内容替换所有匹配项。

email_regex = /\S*\@\S*/
text = "This is test@example.com test string. Regex is regex@example.co.uk amazing."

result = text.gsub(email_regex, 'email_has_been_replaced')

p result
# => "This is email_has_been_replaced test string. Regex is email_has_been_replaced amazing."

在 ActiveRecord 模型中:

class Post < AR::B
  EMAIL_REGEX = /\S*\@\S*/
  before_validation :remove_email_addresses_from_body

  private

  def remove_email_addresses_from_body
    self.body = body.gsub(EMAIL_REGEX, 'hidden_email')
  end
end
于 2013-10-30T18:50:07.433 回答