[英]Use of undefined constant [variable_name] - assumed [variable_.name] error in Php
[英]PHP script that will find a replace %{variable_name}%
我见过系统使用一种在文本中键入%{variable_name}%
的方法(让我们说要存储在数据库中或发送大量电子邮件),并且在页面加载时,它会找到%{variable_name}
并将其替换与另一段代码/字符串。
例如,向邮件列表发送大量电子邮件: Hello %{name}%
,这是一封电子邮件...。当单击“提交”时,它将发送该电子邮件,但会是...“ Hello John Doe,这是一封电邮”...
我已经搜索过google,但找不到它,因为我也不知道它叫什么。 我刚刚在代码中看到了这一点,目前正在编写非常有用的代码。
如果有人可以告诉我它叫什么,要搜索什么或如何实现它的示例,那就太好了。
(如果我在其中放置了错误的标签,请更改为正确的标签)
我成功地使用了这种方法:
$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);
您可以使用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>");
?>
我为你写了一堂课:
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);
在PHP.net上找到了这个
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.