如何将字符串分配给PHP变量以在电子邮件模板中使用?

如何将字符串分配给PHP变量以在电子邮件模板中使用?,php,email,Php,Email,我正在制作一个用于我的电子邮件系统的模板。我会给我的客户发邮件 这将是我的create-email.php文件: 将有一个文本区域,我需要一些变量在上面使用 你好{firstname}{lastname} 您的电子邮件地址{email}已添加到我们的通讯列表中 您可以使用以下链接取消订阅: {memberid}&email={email} 此文本区域将发布到send-email.php 我的问题就从这里开始。我想用我数据库中的数据替换{firstname}{lastname}{email}{me

我正在制作一个用于我的电子邮件系统的模板。我会给我的客户发邮件

这将是我的create-email.php文件:

将有一个文本区域,我需要一些变量在上面使用

你好{firstname}{lastname}

您的电子邮件地址{email}已添加到我们的通讯列表中

您可以使用以下链接取消订阅: {memberid}&email={email}

此文本区域将发布到send-email.php

我的问题就从这里开始。我想用我数据库中的数据替换{firstname}{lastname}{email}{memberid}


如何执行此操作?

使用str\u替换为值数组

// $array can be set from a query perhaps?
$array = array('firstname' => 'Bob', 'lastname' => 'Dave',...);

// $template could also be a string which is a large block such as yours above.
$template = file_get_contents($template);
foreach($array as $key => $value) {
    $template = str_replace("{$key}", $value, $template);
}
您也可以通过使用两个数组来实现这一点,但我实际上并不提倡这样做,因为这样会占用更多内存,并且在跟踪哪个字段与哪个值匹配时会出现问题

// Array of fields to replace
$fields = array('firstname', 'lastname',...);
$values = array('bob', 'dave',...);
$template = file_get_contents($template);
$template = str_replace($fields, $values, $template);

使用str_替换为值数组

// $array can be set from a query perhaps?
$array = array('firstname' => 'Bob', 'lastname' => 'Dave',...);

// $template could also be a string which is a large block such as yours above.
$template = file_get_contents($template);
foreach($array as $key => $value) {
    $template = str_replace("{$key}", $value, $template);
}
您也可以通过使用两个数组来实现这一点,但我实际上并不提倡这样做,因为这样会占用更多内存,并且在跟踪哪个字段与哪个值匹配时会出现问题

// Array of fields to replace
$fields = array('firstname', 'lastname',...);
$values = array('bob', 'dave',...);
$template = file_get_contents($template);
$template = str_replace($fields, $values, $template);

使用str_替换为值数组

// $array can be set from a query perhaps?
$array = array('firstname' => 'Bob', 'lastname' => 'Dave',...);

// $template could also be a string which is a large block such as yours above.
$template = file_get_contents($template);
foreach($array as $key => $value) {
    $template = str_replace("{$key}", $value, $template);
}
您也可以通过使用两个数组来实现这一点,但我实际上并不提倡这样做,因为这样会占用更多内存,并且在跟踪哪个字段与哪个值匹配时会出现问题

// Array of fields to replace
$fields = array('firstname', 'lastname',...);
$values = array('bob', 'dave',...);
$template = file_get_contents($template);
$template = str_replace($fields, $values, $template);

使用str_替换为值数组

// $array can be set from a query perhaps?
$array = array('firstname' => 'Bob', 'lastname' => 'Dave',...);

// $template could also be a string which is a large block such as yours above.
$template = file_get_contents($template);
foreach($array as $key => $value) {
    $template = str_replace("{$key}", $value, $template);
}
您也可以通过使用两个数组来实现这一点,但我实际上并不提倡这样做,因为这样会占用更多内存,并且在跟踪哪个字段与哪个值匹配时会出现问题

// Array of fields to replace
$fields = array('firstname', 'lastname',...);
$values = array('bob', 'dave',...);
$template = file_get_contents($template);
$template = str_replace($fields, $values, $template);

这个小戈尔迪非常适合你:)


这个小戈尔迪非常适合你:)


这个小戈尔迪非常适合你:)


这个小戈尔迪非常适合你:)




听起来你的send-email.php好像是公开的。您不想这样做,否则任何人都可以从您的服务器生成电子邮件。@Alex怎么会这样,这看起来是一个典型的电子邮件tpl,没有暴露的迹象?此文本区域将发布到send-email.php这只是一个猜测,但听起来像send-email.php是在站点上托管的,而不是在内部调用。如果那个网站是公开的,我可以自己点击这个页面。首先问你你的答案,它会在管理面板中使用。只有管理员才能更改此模板。当有人注册、购买或联系我们时,该系统将工作并向客户发送电子邮件。如果您将模板发布到其他页面,则限制对模板的更改是不相关的。我想贴什么就贴什么。没有经过身份验证的人可以点击send-email.php页面吗?听起来你的send-email.php已经公开了。您不想这样做,否则任何人都可以从您的服务器生成电子邮件。@Alex怎么会这样,这看起来是一个典型的电子邮件tpl,没有暴露的迹象?此文本区域将发布到send-email.php这只是一个猜测,但听起来像send-email.php是在站点上托管的,而不是在内部调用。如果那个网站是公开的,我可以自己点击这个页面。首先问你你的答案,它会在管理面板中使用。只有管理员才能更改此模板。当有人注册、购买或联系我们时,该系统将工作并向客户发送电子邮件。如果您将模板发布到其他页面,则限制对模板的更改是不相关的。我想贴什么就贴什么。没有经过身份验证的人可以点击send-email.php页面吗?听起来你的send-email.php已经公开了。您不想这样做,否则任何人都可以从您的服务器生成电子邮件。@Alex怎么会这样,这看起来是一个典型的电子邮件tpl,没有暴露的迹象?此文本区域将发布到send-email.php这只是一个猜测,但听起来像send-email.php是在站点上托管的,而不是在内部调用。如果那个网站是公开的,我可以自己点击这个页面。首先问你你的答案,它会在管理面板中使用。只有管理员才能更改此模板。当有人注册、购买或联系我们时,该系统将工作并向客户发送电子邮件。如果您将模板发布到其他页面,则限制对模板的更改是不相关的。我想贴什么就贴什么。没有经过身份验证的人可以点击send-email.php页面吗?听起来你的send-email.php已经公开了。您不想这样做,否则任何人都可以从您的服务器生成电子邮件。@Alex怎么会这样,这看起来是一个典型的电子邮件tpl,没有暴露的迹象?此文本区域将发布到send-email.php这只是一个猜测,但听起来像send-email.php是在站点上托管的,而不是在内部调用。如果那个网站是公开的,我可以自己点击这个页面。首先问你你的答案,它会在管理面板中使用。只有管理员才能更改此模板。当有人注册、购买或联系我们时,该系统将工作并向客户发送电子邮件。如果您将模板发布到其他页面,则限制对模板的更改是不相关的。我想贴什么就贴什么。没有经过身份验证的人可以点击send-email.php页面吗?是的,这是我想要做的!太多了!是的,这是我想做的!太多了!是的,这是我想做的!太多了!是的,这是我想做的!太多了!