Apa perbedaan antara fungsi esc_ *?

8

Saya telah membaca WordPress Profesional dan dikatakan:

esc_htmlfungsi digunakan untuk menggosok data yang berisi HTML. Fungsi ini menyandikan karakter khusus ke dalam entitas HTML mereka

esc_attr fungsi digunakan untuk keluar dari atribut HTML

esc_url. Fungsi ini harus digunakan untuk menggosok URL untuk karakter ilegal. Meskipun href secara teknis adalah atribut HTML

Apa perbedaannya?

Jika saya punya

<script>alert('hello world!');</script>this is some content

Apakah semua < >akan dikonversi &lt; &gt;? Apakah URL akan seperti itu %xxx?

Jiew Meng
sumber

Jawaban:

8

esc_htmldan esc_attrhampir identik, satu-satunya perbedaan adalah bahwa output akan melewati filter dengan nama berbeda ( esc_htmldan attribute_escapemasing - masing).

esc_urllebih kompleks dan spesifik, ini berkaitan dengan karakter yang tidak bisa di URL dan protokol yang diizinkan (daftar yang dapat dilewati sebagai argumen kedua). Ini juga akan menambahkan input dengan http://protokol jika tidak ada (dan tautannya tidak relatif).

Jarang
sumber