htmlentities
dan htmlspecialchars
digunakan untuk menghasilkan keluaran HTML yang dikirim ke browser.
Pernyataan yang disiapkan digunakan untuk menghasilkan/mengirim kueri ke mesin Database .
Keduanya memungkinkan keluarnya data; tetapi mereka tidak lolos untuk penggunaan yang sama.
Jadi, tidak, pernyataan yang disiapkan (untuk kueri SQL) jangan menghalangi Anda untuk menggunakan htmlspecialchars
. dengan benar /htmlentities
(untuk pembuatan HTML)
Tentang strip_tags
:itu akan menghapus tag dari string, di mana htmlspecialchars
akan mengubahnya menjadi entitas HTML.
Kedua fungsi tersebut tidak melakukan hal yang sama; Anda harus memilih mana yang akan digunakan tergantung pada kebutuhan Anda / apa yang ingin Anda dapatkan.
Misalnya, dengan potongan kode ini:
$str = 'this is a <strong>test</strong>';
var_dump(strip_tags($str));
var_dump(htmlspecialchars($str));
Anda akan mendapatkan keluaran seperti ini:
string 'this is a test' (length=14)
string 'this is a <strong>test</strong>' (length=43)
Dalam kasus pertama, tidak ada tag; di detik, yang lolos dengan benar.
Dan, dengan keluaran HTML:
$str = 'this is a <strong>test</strong>';
echo strip_tags($str);
echo '<br />';
echo htmlspecialchars($str);
Anda akan mendapatkan:
this is a test
this is a <strong>test</strong>
Kamu mau yang mana? Itu adalah pertanyaan penting ;-)