2017-07-09 2 views
0

ich Echo in der Regel Skript Alarm durch einfachesWie echo JavaScript-Code, der PHP-Tags enthält innen?

echo '<script type="text/javascript">alert("'.$my_message.'");</script>';
aber, wie das Skript Echo, wenn das Skript php-Tags enthält? (siehe meinen Beispielcode)

Wegen meines PHP-Obfuscator-Skripts muss ich nur ein <?php?>-Tag verwenden. Also muss ich in diesem Fall das Javascript wiederholen ohne <?php Tags zu haben. Was sind die möglichen Lösungen in diesem Fall?

<?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

"Graben Sie den Obfuscator" wäre meine Lieblingslösung. – ceejayoz

Antwort

0

JavaScript enthält keine "PHP-Tags". Alles, was Ihr PHP-Code tun muss, ist, die resultierende Ausgabe-Zeichenfolge (die zufällig JavaScript-Code ist, aber für PHP nicht von Belang ist) zu erstellen und sie zu echotieren.

Also, wo Sie so etwas wie dieses:

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

Was Sie wirklich wollen, ganz einfach, ist dies:

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

nicht ineinander zu verschachteln <?php ?> Tags Versuchen Sie. Verketten Sie einfach die tatsächliche Ausgabe, die Sie wollen, und echo diese Ausgabe.

+0

@Davind Danke. Diese Codezeile 'echo $ this -> __ (" More ");' wird für die Magento-Übersetzungsklasse benötigt. Ich bin mir nicht sicher, ob $ this -> __() eine einfache Variable ist. –

+0

@ R.Toward: Es muss zu einem druckbaren Wert aufgelöst werden, wenn dieser Wert sinnvoll auf die Ausgabe zurückgemeldet wird. Verknüpfen Sie diesen Wert einfach mit Ihrer Ausgabe. Der Punkt ist, PHP-Code muss * PHP-Code * nicht enthalten. Es ist bereits * PHP-Code. – David