PHP kodu içeren JavaScript dize değişkeni

7 Cevap php

Ben temelde sadece JQuery ile bir HTML div bir javascript değişken eklemek istiyorum. Ben bir dize gibi bazı PHP kodu eklemek gerekir Ancak, bu sadece bir düz eski dizge olarak göstermek gerekiyor yürütmek gerekmez.

Aşağıdaki kod ben hala PHP sözdizimi olarak kabul edilmektedir düşünüyorum çünkü eklemek görünmüyor.

var script = '<?php wp_list_pages(); ?>';
divName.innerHTML = script;

Herhangi bir yardım çok takdir.

7 Cevap

Sadece bir tahmin ... HTML kuruluşlar (< ve >) ile php parantez yerine bu yüzden (PHP üzerinden JS içeren dosyayı çalıştırırsanız) PHP kodu olarak yorumlanır ne kadar garip bir HTML kodu olmayacak tarayıcı tarafından (tarayıcı ... hatırlıyorum, html etiketleri gibi parantez arar).

Bu gibi CODE etiketleri, sarın:

var script = '<code><?php wp_list_pages(); ?></code>';

Deneyin:

var script = '<?php echo '<?php wp_list_pages(); ?>'; ?>';

Muhtemelen PHP metinde "sıcak" HTML belirteçleri kaçmak gerekir:

div.innerHTML = script.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');

Sadece HTML kuruluşlar (< ve >) ile dize kaçmak gerekir

ÖNEMLİ: Ben burada yapıyoruz tüm PHP kodunu görüntülemek için çalışıyor umuyoruz. PHP kodu geri sunucuya bir formun alanına geçti ve eval() veya somesuch aracılığıyla yürütülür korkak bir şey denemek etmeyiniz. Bu bir hayal edilemeyecek korkunç bir fikir olacaktır. Herzaman sunucu üzerinde idam edilecek kod istemci erişimi vermek, sen yararlanan her türlü kendinizi açın. Sunucu ceza olacaktır. 200 $ toplamak etmeyin. Oyun bitti. Fail.

PHP sayfa tarayıcıya gönderilmeden önce yürütülür, böylece, o sayfaya gidin kaynağını açın ve bu çizginin sen gibi, görmek gerek ne görürseniz görebilirsiniz:

var script = 'the content you expect to see';

değilse, ne gördüğünü söyle.

Bir arıyorsanız String variable to execute PHP code yerine buraya bakmayı deneyin. Bu ben yapmak isteyen buydu ve bu soru geldi çünkü bu söz.