在广告数组中添加广告代码作为变量

时间:2015-03-18 06:54:27

标签: php arrays

我有html广告代码插入我的某个网站。但我网站上的脚本使用配置文件,应在其中定义广告代码。我尝试过使用许多添加广告代码的技术,但一切都失败了。以下是我脚本配置文件中的代码:

$config = array(
    // Your Site URL
    "url" => "http://www.example.com",
    // Your Site Title
    "title" => "Example.com",
    // Your Site Description
    "description" => "Description goes here",
    // Google Analytics ID
    "ga" => "",
    // Ad Codes
    "ad728" => "",
    "ad468" => "",
    "ad300" => "",
);

我的问题是,如何在这些值中包含广告代码。我曾尝试用其中的广告代码编写一个单独的html文件,并尝试将其包含在此变量中,但似乎没有任何效果。输出是主页上的纯文本。

1 个答案:

答案 0 :(得分:1)

有几种方法可以做到这一点:

1)只需escape你的代码(在冲突的引号上使用反斜杠):

// This is probably the easiest thing to do (provided your script isn't massive).
$config['ad300']  =  '<script>MyJavascript(\'AddCodeValue\')</script>';

2)替代连接。这很丑,但有效!在使用单引号时,您总是必须使用双引号,反之亦然。

// Notice the double quotes wrapping single quotes here
$config['ad300']  =  '<script>MyJavascript('."'AddCodeValue'".')</script>';

3)使用HEREDOC标记并在数组中分配变量。

$add1  =  <<<EOF
          <script>MyJavascript('AddCodeValue')</script>
EOF;

$config['ad300']  =  $add1;

4)使用包含文件或回显文本的输出缓冲区。

    ob_start();
    // Everything between start and end_clean
    // whether it be include, code, whatever,
    // will be saved into a cache essentially
    include('ad728.php'); ?>
<script>
    $('#myadd1').do(function() {
        $("#add1_container").html("stuff");
    });
</script>
    <?php
    // Once you are done with your code, you
    // just save the contents of the cache (buffer)
    // to a varaible
    $add1  =  ob_get_contents();
    // This stops the buffer from caching
    // and clears it out
    ob_end_clean();

// Assign the variable to the array
$config['ad300']  =  $add1;