我有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文件,并尝试将其包含在此变量中,但似乎没有任何效果。输出是主页上的纯文本。
答案 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;