繁体   English   中英

将找到替换%{variable_name}%的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);

参考: http : //php.net/manual/en/function.str-replace.php

您可以使用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上找到了这个

str_replace

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM