我正在为我的客户构建一种方法,以构建一个要用wp\\U mail发送的消息内容。在此范围内,我希望他们能够选择变量,例如,在我的管理自定义字段中,消息可能如下所示:
电子邮件:$Email\\u地址$
名字:$First\\u Name$
因此,当我遍历这些行时,我可以发现一个变量占位符,并用我的变量替换$email\\u address$,因此我的PHP看起来像:
$body = \'Email Address: [email protected]<br>First Name: Mickey Mouse\';
wp_mail( $to, $subject, $body, $headers );
我想我想知道是否有一种特殊的或类似PHP的方法可以做到这一点,我肯定以前在插件中看到过,但不记得确切的格式。
最合适的回答,由SO网友:Cadu De Castro Alves 整理而成
您应该使用str_replace, 它接受数组作为参数:
$content = "Email: {{email}}\\nFirst Name: {{first_name}}";
$body = str_replace(
[\'{{email}}\', \'{{first_name}}\'],
[\'[email protected]\', \'Mickey Mouse\'],
$content
);
小心使用
$
在占位符中。由于它在PHP中被广泛使用,因此不安全。这就是我使用
mustache-like 示例中的语法。