我的网站需要比Adsense更灵活的广告类型,因此我使用JuicyAds作为替代方案。
问题是他们的代码在他们的脚本中使用了"
和'
,这使得使用PHP回显它变得很尴尬。这就是我所拥有的:
$ad_header = '
<!-- JuicyAds v3.0 -->
<script async src="//adserver.juicyads.com/js/jads.js"></script>
<ins id="228912" data-width="300" data-height="262"></ins>
<script>(adsbyjuicy = window.adsbyjuicy || []).push({'adzone':228912});</script>
<!--JuicyAds END-->
';
正如您在此处所看到的,有一部分id="228912"
,还有一个'adzone':
,我使用'
符号来保存广告。
然后使用<?php echo $header_ad; ?>
在页面上回显。但是由于两种类型的符号一起运行,这会导致冲突。
有解决方法吗?
答案 0 :(得分:1)
$ad_header = <<<'EOF123'
<!-- JuicyAds v3.0 -->
<script async src="//adserver.juicyads.com/js/jads.js"></script>
<ins id="228912" data-width="300" data-height="262"></ins>
<script>(adsbyjuicy = window.adsbyjuicy || []).push({'adzone':228912});</script>
<!--JuicyAds END-->
EOF123;
您现在可以回显$ ad_header。我们了解到,您可以使用'
或\'
手动更改"
,但这不是通用答案。如果你有一千个这样的'
怎么办?是的,搜索和替换可能很有用,所以可以逃避。但我认为这个块字符串是PHP中添加的一个功能,只是为了解决这个问题。无论如何,记得要声明EOF123部分,它必须是代码中找不到的东西。我喜欢随机字符串。