0

以下のように、サイトのすべてのページでこれを使用して、サイトが Firefox で表示されている場合にソーシャル ボタンが表示されないようにしています。

<?php
if (!empty($_SERVER['HTTP_USER_AGENT']))
{
$isFirefox = (strpos($_SERVER['HTTP_USER_AGENT'],"Firefox") !== false);
} else {
$isFirefox = false;
}
if ($isFirefox) { echo ' '; }
else
include("/includes/social_buttons.php");?> 

私の

social_buttons.php

次のコードが含まれています。

<!--=================== social buttons ==================-->
<div id="social">
<!-- Google +1 button -->
<div style="float:right;padding-top:1px;">
<script type="text/javascript">document.write('<div class="g-plusone" data-size="tall"><\/div>');</script>
<script type="text/javascript">
(function() {
var z = document.createElement('script'), s = document.getElementsByTagName('script')[0];
z.type = 'text/javascript';
z.async = true;
z.src = 'https://apis.google.com/js/plusone.js';
s.parentNode.insertBefore(z, s);
})();
</script>
</div>
<!-- End Google +1 button -->

<!-- Facebook button -->
<div style="float:right;padding-right:2px;">
<script type="text/javascript">
//<![CDATA[
document.write('<div id="fb-root"><\/div><fb:like href="<?php echo $url;?>" send="false" layout="box_count" width="35" show_faces="false" font="arial"><\/fb:like>');
(function() {
var s = document.createElement('SCRIPT'), s1 = document.getElementsByTagName('SCRIPT')[0];
s.type = 'text/javascript';
s.async = true;
s.src = 'http://connect.facebook.net/en_US/all.js#xfbml=1';
s1.parentNode.insertBefore(s, s1);
})();
//]]>
</script>
</div>
<!-- End Facebook button -->

<!-- Tweet Button -->
<div style="float:right; margin-right:11px;">
<a href="http://twitter.com/share?via=youraccount&amp;count=vertical" class="twitter-share-button">Tweet</a>
<script type="text/javascript">
var a = document.createElement('script'), b = document.getElementsByTagName('script')[0];
a.type = 'text/javascript';
a.async = true;
a.src = 'http://platform.twitter.com/widgets.js';
b.parentNode.insertBefore(a,b);
</script>
</div>
<!-- End Tweet Button -->
<!-- end #social --></div>
<!--=================== end.social buttons ==================-->

ここで質問ですが、social_buttons.php に追加のコンテンツを追加したいと思います。これは、Firefox を含むすべてのブラウザーに表示されます。

したがって、これを行うための私の試み (これはうまくいきませんでした!) は、すべてを social_buttons.php 内に配置してから、はるかに単純なインクルード呼び出しで呼び出すことでした。

<?php include("/includes/social_buttons.php");?>

social_buttons.php の内容は次のようになります。

<?php if (!empty($_SERVER['HTTP_USER_AGENT']))
    {
    $isFirefox = (strpos($_SERVER['HTTP_USER_AGENT'],"Firefox") !== false);
    } else {
    $isFirefox = false;
    }
    if ($isFirefox) { echo ' '; }
    else
    echo ("
    <!--=================== social buttons ==================-->
    <div id="social">
    <!-- Google +1 button -->
    <div style="float:right;padding-top:1px;">
    <script type="text/javascript">document.write('<div class="g-plusone" data-size="tall"><\/div>');</script>
    <script type="text/javascript">
    (function() {
    var z = document.createElement('script'), s = document.getElementsByTagName('script')[0];
    z.type = 'text/javascript';
    z.async = true;
    z.src = 'https://apis.google.com/js/plusone.js';
    s.parentNode.insertBefore(z, s);
    })();
    </script>
    </div>
    <!-- End Google +1 button -->

    <!-- Facebook button -->
    <div style="float:right;padding-right:2px;">
    <script type="text/javascript">
    //<![CDATA[
    document.write('<div id="fb-root"><\/div><fb:like href="<?php echo $url;?>" send="false" layout="box_count" width="35" show_faces="false" font="arial"><\/fb:like>');
    (function() {
    var s = document.createElement('SCRIPT'), s1 = document.getElementsByTagName('SCRIPT')[0];
    s.type = 'text/javascript';
    s.async = true;
    s.src = 'http://connect.facebook.net/en_US/all.js#xfbml=1';
    s1.parentNode.insertBefore(s, s1);
    })();
    //]]>
    </script>
    </div>
    <!-- End Facebook button -->

    <!-- Tweet Button -->
    <div style="float:right; margin-right:11px;">
    <a href="http://twitter.com/share?via=youraccount&amp;count=vertical" class="twitter-share-button">Tweet</a>
    <script type="text/javascript">
    var a = document.createElement('script'), b = document.getElementsByTagName('script')[0];
    a.type = 'text/javascript';
    a.async = true;
    a.src = 'http://platform.twitter.com/widgets.js';
    b.parentNode.insertBefore(a,b);
    </script>
    </div>
    <!-- End Tweet Button -->
    <!-- end #social --></div>
    <!--=================== end.social buttons ==================-->
    ");?>

    SOME OTHER CODE I WANT TO INCLUDE

それを行う方法はありますか?

4

1 に答える 1

0

ヒアドキュメントはどうですか?

if ($isFirefox)
{ 
  echo ' ';
}
else
{
  $url = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

  echo <<<BLAH
  Hello World! I'm $name. <a href="$url">This is a link to this site</a>
BLAH; // important: this keyword has to be at the beginning of a line (do not add any char before this keyword)

}

または、JavaScript をエスケープします (二重引用符)

于 2012-08-16T13:10:21.233 に答える