Javascript 在PHP变量中处理内联JS中的单引号和双引号时出现问题

Javascript 在PHP变量中处理内联JS中的单引号和双引号时出现问题,javascript,php,Javascript,Php,我有一个带有变量的PHP函数,其中包含一些内联JS。我尝试过避开所有的单引号和双引号,但它破坏了页面的其余部分。写这个的正确方法是什么?下面是一个例子: function function_name() { $variable = ' <script type="text/javascript"> var AdButler = AdButler || {}; AdButler.ads = AdButler.ads

我有一个带有变量的PHP函数,其中包含一些内联JS。我尝试过避开所有的单引号和双引号,但它破坏了页面的其余部分。写这个的正确方法是什么?下面是一个例子:

function function_name() {
        $variable = '
            <script type="text/javascript">
                var AdButler = AdButler || {}; AdButler.ads = AdButler.ads || [];
                var abkw = window.abkw || '';
                var plc347434 = window.plc347434 || 0;
                document.write('<'+'div id="placement_347434_'+plc347434+'"></'+'div>');
                AdButler.ads.push({handler: function(opt){ AdButler.register(172522, 347434, [728,90], 'placement_347434_'+opt.place, opt); }, opt: { place: plc347434++, keywords: abkw, domain: 'servedbyadbutler.com', click:'CLICK_MACRO_PLACEHOLDER' }});
            </script>';
}
function\u name(){
$variable='1
var AdButler=AdButler | |{};AdButler.ads=AdButler.ads | |[];
var abkw=window.abkw | |“”;
变量plc347434=window.plc347434 | | 0;
文件。写(“”);
AdButler.ads.push({handler:function(opt){AdButler.register(172522347434,[728,90],'placement347434_u3434_34;+opt.place,opt);},opt:{place:plc3474434++,关键字:abkw,域:'servedbyadbutler.com',click:'click_MACRO_PLACEHOLDER'});
';
}
试试这个:

function function_name() {
        $variable = "
            <script>
                var AdButler = AdButler || {}; AdButler.ads = AdButler.ads || [];
                var abkw = window.abkw || '';
                var plc347434 = window.plc347434 || 0;
                document.write('<'+'div id=\"placement_347434_'+plc347434+'\"></'+'div>');
                AdButler.ads.push({handler: function(opt){ AdButler.register(172522, 347434, [728,90], 'placement_347434_'+opt.place, opt); }, opt: { place: plc347434++, keywords: abkw, domain: 'servedbyadbutler.com', click:'CLICK_MACRO_PLACEHOLDER' }});
            </script>";
}
function\u name(){
$variable=”
var AdButler=AdButler | |{};AdButler.ads=AdButler.ads | |[];
var abkw=window.abkw | |“”;
变量plc347434=window.plc347434 | | 0;
文件。写(“”);
AdButler.ads.push({handler:function(opt){AdButler.register(172522347434,[728,90],'placement347434_u3434_34;+opt.place,opt);},opt:{place:plc3474434++,关键字:abkw,域:'servedbyadbutler.com',click:'click_MACRO_PLACEHOLDER'});
";
}
试试这个:

function function_name() {
        $variable = "
            <script>
                var AdButler = AdButler || {}; AdButler.ads = AdButler.ads || [];
                var abkw = window.abkw || '';
                var plc347434 = window.plc347434 || 0;
                document.write('<'+'div id=\"placement_347434_'+plc347434+'\"></'+'div>');
                AdButler.ads.push({handler: function(opt){ AdButler.register(172522, 347434, [728,90], 'placement_347434_'+opt.place, opt); }, opt: { place: plc347434++, keywords: abkw, domain: 'servedbyadbutler.com', click:'CLICK_MACRO_PLACEHOLDER' }});
            </script>";
}
function\u name(){
$variable=”
var AdButler=AdButler | |{};AdButler.ads=AdButler.ads | |[];
var abkw=window.abkw | |“”;
变量plc347434=window.plc347434 | | 0;
文件。写(“”);
AdButler.ads.push({handler:function(opt){AdButler.register(172522347434,[728,90],'placement347434_u3434_34;+opt.place,opt);},opt:{place:plc3474434++,关键字:abkw,域:'servedbyadbutler.com',click:'click_MACRO_PLACEHOLDER'});
";
}
试试这个

   function function_name() {
        $variable = <<<JSSCRIPT
            <script type="text/javascript">
                var AdButler = AdButler || {}; AdButler.ads = AdButler.ads || [];
                var abkw = window.abkw || '';
                var plc347434 = window.plc347434 || 0;
                document.write('<'+'div id="placement_347434_'+plc347434+'"></'+'div>');
                AdButler.ads.push({handler: function(opt){ AdButler.register(172522, 347434, [728,90], 'placement_347434_'+opt.place, opt); }, opt: { place: plc347434++, keywords: abkw, domain: 'servedbyadbutler.com', click:'CLICK_MACRO_PLACEHOLDER' }});
            </script>
JSSCRIPT;
return $variable;
}
function\u name(){
$variable=试试这个

   function function_name() {
        $variable = <<<JSSCRIPT
            <script type="text/javascript">
                var AdButler = AdButler || {}; AdButler.ads = AdButler.ads || [];
                var abkw = window.abkw || '';
                var plc347434 = window.plc347434 || 0;
                document.write('<'+'div id="placement_347434_'+plc347434+'"></'+'div>');
                AdButler.ads.push({handler: function(opt){ AdButler.register(172522, 347434, [728,90], 'placement_347434_'+opt.place, opt); }, opt: { place: plc347434++, keywords: abkw, domain: 'servedbyadbutler.com', click:'CLICK_MACRO_PLACEHOLDER' }});
            </script>
JSSCRIPT;
return $variable;
}
function\u name(){

$variable=有趣的事实:PHP7.3对结束标记更为宽容。@Sammitch很好,现在,对于一个我没有看到的小空间来说,这曾经是一场噩梦。有趣的事实:PHP7.3对结束标记更为宽容。@Sammitch很好,现在,对于一个我没有看到的小空间来说,这曾经是一场噩梦。