[英]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.