str = "John: hey, what's your name?.. :haha \n Stella: :foo :xx: my name is ... stella :xx:"
ary = [":haha", ":xx:", ":foo", ":bar"]
print str.gsub(Regexp.new("#{ary.join('|')}")) { |w| "(.*)" }.gsub( /(?>\(\.\*\)|[^\w ]+)/, "(.*)").gsub(/\(\.\*\)(?>\s*\(\.\*\))*/,"(.*)")
c3RyID0gIkpvaG46IGhleSwgd2hhdCdzIHlvdXIgbmFtZT8uLiA6aGFoYSBcbiBTdGVsbGE6IDpmb28gOnh4OiBteSBuYW1lIGlzIC4uLiBzdGVsbGEgOnh4OiIKYXJ5ID0gWyI6aGFoYSIsICI6eHg6IiwgIjpmb28iLCAiOmJhciJdCnByaW50IHN0ci5nc3ViKFJlZ2V4cC5uZXcoIiN7YXJ5LmpvaW4oJ3wnKX0iKSkgeyB8d3wgIiguKikiIH0uZ3N1YiggLyg/PlwoXC5cKlwpfFteXHcgXSspLywgIiguKikiKS5nc3ViKC9cKFwuXCpcKSg/PlxzKlwoXC5cKlwpKSovLCIoLiopIik=