2

我已经查看并寻找了一个示例,但我发现的唯一示例是像这样呼应 str 替换的结果:

$malestr = str_replace("{name}", "$name", $rawstring);
echo "$malestr";

但这不是我想要的,我想做的是......当我创建一个模板时,在我要写的消息的文本框字段中:

亲爱的{name},感谢您的订购!

姓名也是我正在写的人,在发送电子邮件时从 $toPersonsName 数组中提取:

因此,其结果将在电子邮件中如下所示:

如果客户被称为鲍勃,那将是>>

亲爱的鲍勃,谢谢您的订单!

这是我需要的 str_replace 还是其他东西,因为我不想写

Dear <?php echo '$malestr';?>

每次创建模板时,{name} 会更好。

编辑>>

如果我执行以下操作:

$name = 'BOB';
$rawstring = "$name";

$malestr = str_replace("{name}", "$name", $rawstring);


echo "$malestr";
echo "{name}";

它回显 {name} ,但不是 bob ??,但 $malestr 回显的 bob,我怎样才能让 {name} 回显 bob ?

4

2 回答 2

0

您可以使用 strtr() 本机函数来执行此操作。

于 2012-01-03T12:15:30.823 回答
0

有多种字符串替换方法,您可以在这篇博文中看到它们在速度方面的比较。

最终,您需要解析整个视图输出(如果您使用 MVC)并替换每个实例。流行的模板引擎Smarty使用的东西与您想要实现的目标非常相似。如果您想了解他们如何完成此功能,它是开源的。

于 2012-01-03T11:38:43.183 回答