str_replace()函数和多个变量?

时间:2011-08-10 08:12:38

标签: php

这很难解释,所以我会尽量把它作为一个按时间顺序排列的故事并以问题结束,以便任何需要相对深入了解我的内容的人我说的有一个:)。

我有一个主题模板,其中包含四个名为primary_headlineprimary_sublinesecondary_headlinesecondary_subtext的文本容器。每个容器的内容来自echo($container_name)

每个容器都有自己的变量$container_name,它将用户创建的内容发布到表单中,内容有时包含变量$city_name$ref_name作为原始数据(即“Hello” ,我来自$ city_name“),$city_name$ref_name分配了价值,为了论证,我们只说$city_name = Dallas$ref_name = Facebook

最初,我认为我只希望用户能够在$city_name容器中使用$ref_namesecondary_subtext,而且我也会选择使用{ {1}}或$city_name首先选择用户(他们必须选择一个,或另一个,或者不选择 - 但不能同时选择两者。

但是,我现在希望在所有四个容器变量(例如$ref_name)中允许$city_name$ref_name

所以,我的问题是,我该如何以最简单的方式做到这一点?

这是我的旧代码:

$secondary_subtext

任何评论/答案等都将非常感激:)!!

1 个答案:

答案 0 :(得分:0)

$placeholders = array('city_name','ref_name');
$include_mapper('geo_text' => 'inc/geo_text.php','ref_text'=>'inc/ref_text.php');
$containers = array('first_headline','scondary_headline');

$found = 0;
foreach ($include_mapper as $map => $include){
    if ($$map == "enable"){
        include ($include_mapper[$map]);
        foreach ($container as $container){
            foreach ($placeholders as $placeholder){
                $$container = str_replace('$'.$placeholder, $$placeholder, $_POST[$container];
            }
        }
      $found = 1;
      break;
    }
}
if (!$found){
    foreach ($container as $container){
        $$container = $_POST[$container];
    }
}