ฟังก์ชัน PHP htmlentities()
ตัวอย่าง
แปลงอักษรเป็น HTML entity:
<?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 |
เลือกได้. กำหนดวิธีการประมวลผลเครื่องหมายเปิด รหัสระบบการเข้ารหัสที่ไม่ถูกต้อง และชนิดเอกสารที่ใช้ ปริมาณเครื่องหมายเปิดที่สามารถใช้ได้:
รหัสระบบการเข้ารหัสที่ไม่ถูกต้อง:
ปริมาณเพิ่มเติมที่กำหนดชนิดเอกสารที่ใช้
|
character-set |
เลือกได้. ข้อความที่กำหนดตัวแปลตัวอักษรที่ต้องการใช้ ค่าที่ยอมรับได้:
หมายเหตุ:ในเวอร์ชัน PHP ก่อน 5.4 ตัวแปรที่ไม่สามารถตรวจสอบรูปแบบชุดอักษรได้จะถูกละเลยและถูกแทนที่ด้วย ISO-8859-1 ตั้งแต่ PHP 5.4 ตัวแปรที่ไม่สามารถตรวจสอบรูปแบบชุดอักษรจะถูกละเลยและถูกแทนที่ด้วย UTF-8 |
double_encode |
ให้เลือก。ตัวทรงพลังเป็นค่าบูลทรรศน์ กำหนดว่าจะเข้ารหัส HTML entity ที่มีอยู่แล้วหรือไม่
|
รายละเอียดเทคนิค
ค่าที่กลับค่ามา |
กลับค่าของตัววางเปลี่ยน ถ้า string ถ้ามีการใส่รหัสเข้ารหัสที่ผิดปกติ จะกลับไปเป็นตัวว่าง ยกเว้นว่าได้ตั้งค่า ENT_IGNORE หรือ ENT_SUBSTITUTE อยู่ |
PHP version: | 4+ |
บันทึกการปรับปรุง: |
ใน PHP 5character-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 entity:
<?php $str = "Bill & 'Steve'"; echo htmlentities($str, ENT_COMPAT); // ปรับสีนิ้ววาฬเดี่ยว echo "<br>"; echo htmlentities($str, ENT_QUOTES); // ปรับสีนิ้ววาฬและสีนิ้ววาฬเดี่ยว 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
โดยใช้ตัวย่อตัวแปลตัวอักษร Western European แปลงตัวอักษรบางตัวเป็น HTML entity:
<?php $str = "My name is Øyvind Øsane. I'm Norwegian."; echo htmlentities($str, ENT_QUOTES, "ISO-8859-1"); // จะเปลี่ยนคำนำออกเป็น HTML entity แค่ในคำนำออกสองคำ (ไม่ใช่คำนำออกหนึ่งคำ), และใช้ตัวย่อตัวแปลตัวอักษร Western European ?>
การออกอากาศของโค้ดดังกล่าวใน HTML ดังนี้ (ดูรหัสที่แท้จริง):
<!DOCTYPE html> <html> <body> My name is Øyvind Øsane. I'm Norwegian. </body> </html>
การออกอากาศของโค้ดดังกล่าวในเบราซเซอร์:
My name is Øyvind Øsane. I'm Norwegian.