PHP htmlentities() 函数

ຄວາມຄົນ

ປ່ຽນຄວາມເປັນ HTML ພາສາ:

<?php
$str = "<? W3S?h????>";
echo htmlentities($str);
?>

ການສະແດງ HTML ຂອງວິສະວະກອນທີ່ສະແດງວ່າ:

<!DOCTYPE html>
<html>
<body>
<© W3Sçh°°¦§>
</body>
</html>

ການສະແດງຂອງວິສະວະກອນທີ່ສະແດງໃນບຸກຄົນ:

<? W3S?h????>

ການກໍານົດ ແລະ ການນໍາໃຊ້

htmlentities() 函数ປ່ຽນຄວາມໄປເປັນ HTML 实体.

ຂໍ້ສັງເກດ:ສຳລັບການປ່ຽນ HTML 实体ຄືວ່າຄວາມ, ຂໍ້ສັງເກດ: html_entity_decode() ວິທີການ.

ຂໍ້ສັງເກດ:ຂໍ້ສັງເກດ: get_html_translation_table() ຫນັງວິທີການ. ການກະທຳຄວາມສັບພາສາທີ່ htmlentities() ນຳໃຊ້.

ວິທີການ

htmlentities(string,flags,character-set,double_encode)
ປະເພດ ອະທິບາຍ
string ສະຖິຕິ. ກໍານົດຄວາມທີ່ຈະແປງປ່ຽນ.
flags

ທາງເລືອກຫນັງ. ກໍານົດວ່າຈະກະທຳຄວາມຫນັງ, ຄວາມສັບທີ່ບໍ່ມີຜົນ ແລະ ຊະນິດຂອງເອກະສານທີ່ຈະໃຊ້.

ຊະນິດທີ່ມີຄວາມສັບຫນັງທີ່ສາມາດໃຊ້:

  • ENT_COMPAT - ການກະທຳຄວາມສັບຫນັງຄົບເດີມ. ປ່ຽນຄວາມສັບທີ່ເປັນຄວາມຫນັງທີ່ສະເພາະ.
  • ENT_QUOTES - ປ່ຽນຄວາມສັບທີ່ເປັນຄວາມຫນັງທີ່ສະເພາະ.
  • ENT_NOQUOTES - ບໍ່ປ່ຽນຄວາມສັບທີ່ເປັນຄວາມຫນັງ.

ຄວາມສັບທີ່ບໍ່ມີຜົນ:

  • ENT_IGNORE - ທຳລາຍຄວາມສັບທີ່ບໍ່ມີຜົນທີ່ບໍ່ໄດ້ມີຄວາມສັບຫນັງ. ຄວນຫຼຸດຜ່ອນການໃຊ້ຄືກັນດັ່ງກ່າວນີ້ ຍ້ອນວ່າມັນອາດມີຜົນກະທົບຕໍ່ຄວາມປອດໄພ.
  • ENT_SUBSTITUTE - ປ່ຽນຄວາມສັບທີ່ບໍ່ມີຜົນເປັນຄວາມທີ່ກໍານົດຄືກັນດັ່ງກ່າວກັບ Unicode U+FFFD (UTF-8) ຫຼື &#FFFD; ທີ່ບໍ່ໄດ້ການກະທຳຄວາມສັບຫນັງ.
  • ENT_DISALLOWED - ປ່ຽນຄວາມສັບທີ່ບໍ່ມີຜົນຢູ່ໃນຊະນິດຂອງເອກະສານໄປເປັນຄວາມການປ່ຽນຄວາມ Unicode U+FFFD (UTF-8) ຫຼື &#FFFD;.

ການກໍານົດ ມາດທີ່ກໍານົດວ່າຈະໃຊ້ຊະນິດຂອງເອກະສານ.

  • ENT_HTML401 - ການກະທຳຄວາມສັບພາສາ HTML 4.01 ຄົບເດີມ.
  • ENT_HTML5 - ການກະທຳຄວາມສັບພາສາ HTML 5.
  • ENT_XML1 - ການກະທຳຄວາມສັບພາສາ XML 1.
  • ENT_XHTML - ການກະທຳຄວາມສັບພາສາ XHTML.
character-set

ທາງເລືອກຫນັງ. ຄວາມສັບພາສາທີ່ກໍານົດວ່າຈະໃຊ້ຄວາມຊາວ.

ຄຳຕອບທີ່ອະນຸຍາດ:

  • UTF-8 - ຄົບຖານ. ASCII ສາມາດຈະສະແດງ Unicode 8 ບັນດາບັນທຶກ
  • ISO-8859-1 - ຕາເວັນຕົກ
  • ISO-8859-15 - ຕາເວັນຕົກ, ທີ່ເພີ່ມສະເພາະສະຫຼາກລາວສະຫຼາກຟິນແລະປະເທດສະຫຼາກດາວສະຫຼາກລາວ
  • cp866 - ຄວາມທີ່ໃຊ້ໃນ DOS ສຳລັບ Cyrillic
  • cp1251 - ຄວາມທີ່ໃຊ້ໃນ Windows ສຳລັບ Cyrillic
  • cp1252 - ຄວາມທີ່ໃຊ້ໃນ Windows ສຳລັບຄວາມທີ່ໃຊ້ໃນຕາເວັນຕົກສະຫຼາກ
  • KOI8-R - ພາສາລຸິສ
  • BIG5 - ພາສາຈີນທົດສະຕິກ, ທີ່ໃຊ້ໃນໄຕ້
  • GB2312 - ພາສາຈີນທົດສະຕິກ, ຄວາມທີ່ເປັນມາດຕະຖານຂອງປະເທດ
  • BIG5-HKSCS - Big5 ທີ່ມີການຂະຫຍາຍສະເພາະສະຫຼາກຮ່ອງ
  • Shift_JIS - ພາສາຍີປຸ່ນ
  • EUC-JP - ພາສາຍີປຸ່ນ
  • MacRoman - ຄວາມທີ່ໃຊ້ໃນ Mac ລະບົບ

ຄວາມຄິດ:ໃນ PHP 5.4 ກ່ອນ, ຄວາມທີ່ບໍ່ສາມາດຮັບຮູ້ມີການຖືກວັງໂດຍ ISO-8859-1. ຕັ້ງແຕ່ PHP 5.4, ຄວາມທີ່ບໍ່ສາມາດຮັບຮູ້ມີການຖືກວັງໂດຍ UTF-8.

double_encode

ທາງເລືອກ. ບັນດາຄຳຕອບຢູ່, ຕັ້ງໃສ່ວ່າຈະປ່ຽນ HTML ພາສາທີ່ມີຢູ່ແລ້ວຫຼືບໍ່.

  • TRUE - ຄົບຖານ. ຈະປ່ຽນ HTML ພາສາທັງໝົດ.
  • FALSE - ຈະບໍ່ປ່ຽນ 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); // ແປງ HTML ພາສາທັງສອງການສັນຍາວິດຍິງ
echo "<br>";
echo htmlentities($str, ENT_QUOTES); // ແປງ HTML ພາສາທັງສອງການສັນຍາວິດຍິງ ແລະ ການສັນຍາວິດຍິງ
echo "<br>";
echo htmlentities($str, ENT_NOQUOTES); // ບໍ່ປ່ຽນກົດລະຄອນບຸກຄຳ
?>

ການສະແດງ HTML ຂອງວິສະວະກອນທີ່ສະແດງວ່າ:

<!DOCTYPE html>
<html>
<body>
Bill & 'Steve'<br>
Bill & 'Tarzan'<br>
Bill & 'Steve'
</body>
</html>

ການສະແດງຂອງວິສະວະກອນທີ່ສະແດງໃນບຸກຄົນ:

Bill & 'Steve'
Bill & 'Steve'
Bill & 'Steve'

ການດຳເນີນການຫົວຂໍ້

ກໍານົດ 2

ທີ່ຈະປ່ຽນກົດລະຄອນບຸກຄຳເປັນ HTML entity ພາຍໃນຄວາມມອນ Western European:

<?php
$str = "My name is ?yvind ?sane. I'm Norwegian.";
echo htmlentities($str, ENT_QUOTES, "ISO-8859-1"); 
// ຈະປ່ຽນພຽງແຕ່ກົດລະຄອນບຸກຄຳ (ບໍ່ແມ່ນກົດລະຄອນທີ່ບຸກຄຳພຽງຫນຶ່ງ), ແລະໃຊ້ຄວາມມອນ Western European
?>

ການສະແດງ HTML ຂອງວິສະວະກອນທີ່ສະແດງວ່າ:

<!DOCTYPE html>
<html>
<body>
ຊື່ຂ້ອຍແມ່ນ Øyvind Åsane. ຂ້ອຍແມ່ນຄົນເຢຍລະຫວ່າງ.
</body>
</html>

ການສະແດງຂອງວິສະວະກອນທີ່ສະແດງໃນບຸກຄົນ:

ຊື່ຂ້ອຍແມ່ນ ?yvind ?sane. ຂ້ອຍແມ່ນຄົນເຢຍລະຫວ່າງ.

ການດຳເນີນການຫົວຂໍ້