使用变量来回显设置数据

时间:2011-01-31 22:22:52

标签: php codeigniter

我无法想到如何在脑海中这样做,所以我希望有人为我做这件事。我想要做的是允许用户使用变量为电子邮件设置自定义问候语。例如,在电子邮件的正文中,他们会发出“$ greeting”,这将回应他们设置的随机问候语{'hey','hello','hi'}。

有人可以解释我将如何实现这一目标吗?

4 个答案:

答案 0 :(得分:2)

您需要使用类似https://github.com/bobthecow/mustache.php

的内容

它是最干净的方式,正则表达式不是这样做的方式。这将允许你做类似

的事情

hi {user.name},...在邮件或任何其他需要自定义的变种

答案 1 :(得分:1)

在数组中定义可能的问候语

$greetings = array('hey', 'hello', 'hi');

随机回应

echo $greetings[array_rand($greetings)];

shuffle($greetings);
echo $greetings[0];

答案 2 :(得分:1)

要求用户在文本输入中提供逗号分隔的问候语列表:

hey, hello, hi

然后你可以通过,然后修剪空白(或者可能是其他方式)来爆炸问候语

然后允许他们将$ greeting放入消息中并使用array_rand来随机选择

$input = 'hi, heya, morning!';
$greetings = explode(',', str_replace(' ', '', $input));
$key = array_rand($greetings);
echo $greetings[$key];

答案 3 :(得分:1)

这样的事情可能就是你想做的事情:

$userText="A user wants to send a greeting: \$greeting";
echo $userText;
echo "<br/><br/>";

$valArray=array("Hey","Hello","Ciao");

$newText=str_replace("\$greeting",$valArray[array_rand($valArray)],$userText);
echo $newText;