在interspire中的全局变量

时间:2012-01-22 20:18:54

标签: php

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

1 个答案:

答案 0 :(得分:1)

我在自己的代码中做了类似的事情,我这样做的方式是:

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%。

输出:

  

您好。这个例子将测试替换,希望是成功的。