我见过系统使用的方法是您在文本中键入%{variable_name}%
(假设存储在数据库中或发送大量电子邮件),当页面加载时,它会找到{{1}并用另一段代码/字符串替换它。
例如,向邮件列表发送大量电子邮件:%{variable_name}
,这是一封电子邮件....当点击提交时,它会发送电子邮件,除非它会......“Hello John Doe,这是一封电子邮件“......
我搜索过谷歌并找不到它,因为我真的不知道它叫什么。我刚刚在代码中看到了这一点,我正在编写一个非常有用的代码。
如果有人可以告诉我它的名称,要搜索的内容,或者如何实现它的示例,那就太棒了。
(如果我在其中添加了错误的标签,请更改为正确的标签)
答案 0 :(得分:2)
我成功使用了这种方法:
$message = str_replace('[NAME]', $name, $message);
因此,例如[NAME]
群发电子邮件会被$name
的内容替换
如果您更喜欢自己的语法,则%{NAME}%
的内容会被$name
的内容替换为:
$message = str_replace('%{NAME}%', $name, $message);
您可以多次重做它,比如说要添加特定链接和电子邮件地址:
$message = str_replace('%{NAME}%', $name, $message);
$message = str_replace('%{LINK}%', $link, $message);
$message = str_replace('%{EMAIL}%', $email, $message);
答案 1 :(得分:2)
您可以使用str_replace:http://php.net/manual/en/function.str-replace.php
<?php
$string = "Your %variable_name% sentence..";
$new_string = str_replace("%variable_name%", "beautiful", $string>");
?>
答案 2 :(得分:1)
我为你写了一堂课:
class templatevars{
private static $vars=array();
public static function set($var,$val){
self::$vars["%{".$var."}%"]=$val;
}
public static function replace($text){
return str_replace(array_keys(self::$vars),array_values(self::$vars),$text);
}
}
用法:
templatevars::set("varname","text to insert");
templatevars::set("varname2","other text to insert");
echo templatevars::replace("First: %{varname}% Second: %{varname2}%");
如果您需要多个替换器,请从类中删除所有静态分类器,并执行以下操作:
$replacer_1=new templatevars();
$replacer_1->set("var","text");
$result=$replacer_1->replace($text_source);
答案 3 :(得分:0)
在PHP.net上找到这个