Html etiketleri jQuery kullanarak div içine PHP'nin Htmlentities dönüştürülür göstermek nasıl?

2 Cevap php

Ben htmlentitiesi kullanılarak kodlanan PHP () dinamik bir dize var bu yüzden ben jQuery ve JSON kullanarak AJAX iletebilirsiniz. Şimdi şöyle bir şey var

{ "error": "false", "html": "<div id="user_add_title">Adding New User<div class="showhide-div"><a class="hideShowToggle" href="#" onclick="$('#account_title').show();$('#account').show();$('#users_container').html('')">[cancel]</a></div></div>" }

ve ben gibi bir AJAX başarı geri çağırma işlevi göstermek istediğinizde:

success: function(json) {
    if(json.error == 'false')
        $("#users_container").html(json.html);
    else
        showMsg(json.msg);
}

ne de görüntülenen kişiler kendisidir

<div id="user_add_title">Adding New User<div class="showhide-div"><a class="hideShowToggle" href="#" onclick="$('#account_title').show();$('#account').show();$('#users_container').html('')">[cancel]</a></div></div>

yerine tarayıcı tarafından render olma.

Benim jQuery AJAX aramasındaki dataType gibi HTML veya metin kullanıyorsanız etiketleri düzgün işlenir. Ben işlemi bir hata veya varsa yakalamak gerekir, çünkü JSON kullanmak istiyorum.

2 Cevap

Bunu jQuery geçirmeden zaman htmlentities ile kendi biçimlendirme kodlamak gerekmez. Basitçe htmlentites() için çağrı kaldırmak ve yukarı işaretli HTML göndermek.

Kodun bir kısmı kullanıcıdan sağlanan metni içeriyorsa bir istisna vardır. Bu durumda, () bu metni HtmlEncode, ve o ekran için bir DOM öğesi eklenmiş oluyor bile kodlanmış bırakmak gerekir.

Ben bunu çözdük! Bunun yerine daha büyük ve işaretleri yanı sıra tırnak daha az dönüştürür PHP'nin htmlentitiesi () kullanarak, ben sadece sadece dönüştürmek (veya ters eğik çizgi ekleyin) gibi tırnak gibi backslashing ihtiyaç karakterleri için () addslashes kullanılır.

Ben tırnak json, doğru her şeyi dönüştürerek bunu çözmek olacağını düşünerek, ilk etapta htmlentitiesi kullanılan nedeni ayrıştırıldı değil neden olanlar olduğunu anladım. Değerli giriş için teşekkürler.