Fungsi PHP htmlentities()
Contoh
把字符转换为 HTML 实体:
<?php $str = "<? W3S?h????>"; echo htmlentities($str); ?>
Output HTML kode di atas seperti berikut (lihat kod sumber):
<!DOCTYPE html> <html> <body> <© W3Sçh°°¦§> </body> </html>
Output pelayar untuk kode di atas:
<? W3S?h????>
Definisi dan penggunaan
Fungsi htmlentities() untuk mengubah karakter ke HTML entity.
Petunjuk:Untuk mengubah HTML entity kembali ke karakter, gunakan html_entity_decode() Fungsi.
Petunjuk:Gunakan get_html_translation_table() Fungsi untuk kembalikan tabel penerjemahan yang digunakan oleh function htmlentities().
Sintaks
htmlentities(string,flags,character-set,double_encode)
Parameter | Deskripsi |
---|---|
string | Diperlukan. Menentukan string yang akan diubah. |
flags |
Pilihan. Menentukan bagaimana menangani kutip, pengkodean yang salah, dan jenis dokumen yang digunakan. Jenis kutip yang tersedia:
Pengkodean yang salah:
Flag tambahan untuk jenis dokumen yang digunakan:
|
character-set |
Pilihan. Sebuah string yang menentukan set karakter yang akan digunakan. 允许的值:
注释:在 PHP 5.4 之前的版本,无法被识别的字符集将被忽略并由 ISO-8859-1 替代。自 PHP 5.4 起,无法被识别的字符集将被忽略并由 UTF-8 替代。 |
double_encode |
可选。布尔值,规定是否编码已存在的 HTML 实体。
|
技术细节
返回值: |
返回被转换的字符串。 如果 string 包含无效的编码,则返回一个空的字符串,除非设置了 ENT_IGNORE 或者 ENT_SUBSTITUTE 标志。 |
PHP 版本: | 4+ |
更新日志: |
在 PHP 5 中,character-set 参数的默认值改为 UTF-8。 在 PHP 5.4 中,新增了:ENT_SUBSTITUTE、ENT_DISALLOWED、ENT_HTML401、ENT_HTML5、ENT_XML1 和 ENT_XHTML。 在 PHP 5.3 中,新增了 ENT_IGNORE。 在 PHP 5.2.3 中,新增了 double_encode 参数。 在 PHP 4.1 中,新增了 character-set 参数。 |
更多实例
例子 1
把字符转换为 HTML 实体:
<?php $str = "Bill & 'Steve'"; echo htmlentities($str, ENT_COMPAT); // 只转换双引号 echo "<br>"; echo htmlentities($str, ENT_QUOTES); // 转换双引号和单引号 echo "<br>"; echo htmlentities($str, ENT_NOQUOTES); // Tidak mengubah mana-mana petanda kutip ?>
Output HTML kode di atas seperti berikut (lihat kod sumber):
<!DOCTYPE html> <html> <body> Bill & 'Steve'<br> Bill & 'Tarzan'<br> Bill & 'Steve' </body> </html>
Output pelayar untuk kode di atas:
Bill & 'Steve' Bill & 'Steve' Bill & 'Steve'
Contoh 2
Menggunakan set huruf Eropah Barat, beberapa aksara diubah kepada entitas HTML:
<?php $str = "Nama saya Øyvind Øsane. Saya orang Norwegia."; echo htmlentities($str, ENT_QUOTES, "ISO-8859-1"); // Hanya akan mengubah petanda kutip ganda (tidak kutip tunggal), dan menggunakan set huruf Eropah Barat ?>
Output HTML kode di atas seperti berikut (lihat kod sumber):
<!DOCTYPE html> <html> <body> Nama saya Øyvind Øsane. Saya orang Norwegia. </body> </html>
Output pelayar untuk kode di atas:
Nama saya Øyvind Øsane. Saya orang Norwegia.