2017-07-09 10 views
0

I単に内部にphpタグを含むjavascriptコードをエコーするには?

echo '<script type="text/javascript">alert("'.$my_message.'");</script>';
が、どのようにスクリプトはPHPタグが含まれている場合、スクリプトをエコーすることにより、通常のエコースクリプトの警告? (私の例のコードを参照してください)

私のPHP obfuscatorスクリプトのため、私は<?php?>タグを1つだけ使用する必要があります。この場合、私は<?phpタグを持たずにJavaScriptをエコーする必要があります。この場合、可能な解決策は何ですか?

<?php 
...some php code... 
<script type="text/javascript"> 
    jQuery(document).ready(function($){ 
     $i = 0; 
     $('.wrapper_vertical_menu .megamenu_menu').append('<div class="more-wrap"><span class="more"><?php echo $this->__("More"); ?></span></div>'); 
     $('.wrapper_vertical_menu .megamenu_menu > li.megamenu_lv1').each(function(){ 
      $i ++; 
      if($i>13){ 
       $(this).css('display', 'none'); 
      }   
     }); 
     ... more js code ... 
+1

「難読化する」は私のお気に入りの解決策です。 – ceejayoz

答えて

0

JavaScriptには「PHPタグが含まれていません。あなたのPHPコードはすべて結果の出力文字列(JavaScriptコードになりますがPHPでは問題ありません)をビルドしてエコーします。

だからここであなたはこのようなものがあります:

echo "some javascript code <?php echo some_php_value; ?> more javascript code"; 

をあなたが本当に欲しい、非常に単純に、このです:

echo "some javascript code " . some_php_value . " more javascript code"; 

お互いの中に巣<?php ?>タグにしようとしないでください。実際の出力を連結し、その出力をエコーし​​ます。

+0

@Davindありがとうございます。この行のコード 'echo $ this - > __(" More ");はMagento翻訳クラスに必要です。 $ this - > __()が単純な変数かどうかはわかりません。 –

+0

@ R.Toward:その値が意味を持って出力にエコーされている場合は、印刷可能な値に解決する必要があります。その値を出力に連結するだけです。ポイントは、PHPコードは* PHPコードを含む必要はありません。すでに*は* PHPコードです。 – David

関連する問題