繁体   English   中英

Interspire中的全局变量

[英]Global variables in interspire

首先,我想为可能的错误表示歉意,英语不是我的母语。 我所服务的公司强迫我在许多网站上安装了interspire购物车,没关系,我对此非常熟悉,但是我无法理解的一件事(我无法阅读每个文件来找到答案,所以我在问(如果有人已经知道)它们的全局变量(占位符)的工作方式。 如果php文件中的全局变量名为$ GLOBALS ['sample'],则在html文件中对其进行调用就足以编写它-%% GLOBAL_sample %%。 我有一些想法,例如使用带有strreplace的函数,该函数将包含的html替换为php内容的变量,但是它们如何使脚本编辑html文件呢? 那么,有谁知道他们是怎么做到的?

我已经在自己的代码中完成了类似的操作,并且遵循以下方式:

ob_start(function($data) {
    $data = str_replace("%KEYWORD%","replacement",$data);
    return $data;
});

我将其放在代码的开头。 显然,关键字越多越有用,您当然可以循环遍历全局变量并查找与它们匹配的任何内容,因此此代码可以进行很多调整。 这就是我要做这样的事情的方式。

编辑:我刚刚遇到了一个整洁的方法,该方法使用关联数组进行替换。

ob_start(function($data) {
    return preg_replace_callback(
        "(%([^% ]+)%)",
        function($m) {
            static $reps = Array(
                "sample" => "replacement",
                "test" => "successful",
                "message" => "Hello"
            ); // define your keywords here
            if( isset($reps[$m[1]])) return $reps[$m[1]];
            return $m[0];
        },
        $data);
});

输入样例:

%信息%。 本示例将测试%sample%,希望是%test%。

输出:

你好。 此示例将测试替换,并有望成功。

暂无
暂无

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

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