Cara membersihkan teks yang aman dengan input HTML lengkap

9

Saya sedang mengembangkan sebuah plugin yang memungkinkan pengguna untuk mengirim email HTML dari dalam admin WordPress. Bagaimana saya harus membersihkan input teks? Itu harus dapat berisi seluruh jajaran tag HTML yang mungkin muncul dalam email HTML. Jika saya menggunakan wp_kses()maka saya harus menggunakan daftar besar tag yang diizinkan.

Textarea menyimpan kontennya ke db melalui opsi kustom.

tommyf
sumber

Jawaban:

14

Sudah ada daftar besar yang dibuat untuk Anda , yang dapat dikembalikan dengan wp_kses_allowed_html()berdasarkan konteks, dan difilter melalui wp_kses_allowed_htmlfilter, juga secara kontekstual. Membuat daftar itu seharusnya tidak sulit.

Namun, "seluruh rentang tag HTML yang mungkin muncul dalam email HTML" harus cukup dekat dengan rentang yang diperbolehkan untuk posting biasa jadi Anda wp_kses_post()harus mendapatkan jalan panjang dengan sedikit usaha.

s_ha_dum
sumber
Ya itu daftar besar. Jadi saya hanya mengimpor itu sebagai parameter kemudian menambahkan ekstra yang saya butuhkan, suka <html>dan <body>lain
tommyf
Ya, jika Anda membutuhkan pengguna Anda untuk memasukkan markup sebanyak itu . Saya akan menghasilkan bagian itu untuk mereka, jika itu saya.
s_ha_dum