แปลงอักขระบางตัวให้เป็นเอนทิตี HTML:
<?php$str = "<© W3CSçh°°¦§>";echo htmlentities($str);?>ผลลัพธ์ HTML ของโค้ดข้างต้นมีดังนี้ (ดูซอร์สโค้ด):
<!DOCTYPE html><html><body><© W3CSçh°°¦§></body></html>ผลลัพธ์ของเบราว์เซอร์ของโค้ดด้านบนจะเป็นดังนี้:
<© W3CSçh°°¦§>ฟังก์ชัน htmlentities() แปลงอักขระให้เป็นเอนทิตี HTML
เคล็ดลับ: หากต้องการแปลงเอนทิตี HTML กลับเป็นอักขระ ให้ใช้ฟังก์ชัน html_entity_decode()
เคล็ดลับ: ใช้ฟังก์ชัน get_html_translation_table() เพื่อส่งคืนตารางการแปลที่ใช้โดย htmlentities()
htmlentities( สตริง,แฟล็ก,ชุดอักขระ,double_encode )
พารามิเตอร์ | อธิบาย |
---|---|
เชือก | ที่จำเป็น. ระบุสตริงที่จะแปลง |
ธง | ไม่จำเป็น. ระบุวิธีจัดการเครื่องหมายคำพูด การเข้ารหัสที่ไม่ถูกต้อง และประเภทเอกสารที่จะใช้ ประเภทใบเสนอราคาที่ใช้ได้: 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 |
ชุดอักขระ | ไม่จำเป็น. สตริงที่ระบุชุดอักขระที่จะใช้ ค่าที่อนุญาต: UTF-8 - ค่าเริ่มต้น รองรับ ASCII หลายไบต์ 8 บิต Unicode ISO-8859-1 - ยุโรปตะวันตก ISO-8859-15 - ยุโรปตะวันตก (เพิ่มสัญลักษณ์ยูโร + ตัวอักษรภาษาฝรั่งเศสและฟินแลนด์หายไปจาก ISO-8859-1) cp866 - ชุดอักขระซีริลลิกเฉพาะ DOS cp1251 - ชุดอักขระซีริลลิกเฉพาะ Windows 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 ที่มีอยู่หรือไม่ จริง - ค่าเริ่มต้น แต่ละเอนทิตีจะถูกแปลง FALSE - เอนทิตี HTML ที่มีอยู่จะไม่ถูกเข้ารหัส |
ค่าส่งคืน: | ส่งกลับสตริงที่แปลงแล้ว หาก สตริง มีการเข้ารหัสที่ไม่ถูกต้อง สตริงว่างจะถูกส่งกลับเว้นแต่ว่าตั้งค่าสถานะ ENT_IGNORE หรือ ENT_SUBSTITUTE |
---|---|
เวอร์ชัน PHP: | 4+ |
บันทึกการอัปเดต: | ใน PHP 5 ค่าเริ่มต้นของพารามิเตอร์ ชุดอักขระ เปลี่ยนเป็น 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 มีการเพิ่มพารามิเตอร์ ชุดอักขระ |
แปลงอักขระบางตัวให้เป็นเอนทิตี HTML:
<?php$str = "Jane & 'Tarzan'";echo htmlentities($str, ENT_COMPAT); // จะแปลง double quotesecho "<br>";echo htmlentities($str, ENT_QUOTES); // แปลง double and single quotesecho "<br>";echo htmlentities($str, ENT_NOQUOTES); // ไม่แปลงเครื่องหมายคำพูดใดๆ?>ผลลัพธ์ HTML ของโค้ดข้างต้นมีดังนี้ (ดูซอร์สโค้ด):
<!DOCTYPE html><html><body>เจน & 'ทาร์ซาน'<br>เจน & 'ทาร์ซาน'<br>เจน & 'ทาร์ซาน'</body></html>ผลลัพธ์ของเบราว์เซอร์ของโค้ดด้านบนจะเป็นดังนี้:
เจน & 'ทาร์ซาน'เจน & 'ทาร์ซาน'เจน & 'ทาร์ซาน'แปลงอักขระบางตัวเป็นเอนทิตี HTML โดยใช้ชุดอักขระยุโรปตะวันตก:
<?php$str = "ฉันชื่อ Øyvind Åsane ฉันเป็นคนนอร์เวย์";echo htmlentities($str, ENT_QUOTES, "ISO-8859-1"); // จะแปลงเฉพาะเครื่องหมายคำพูดคู่เท่านั้น (ไม่ใช่เครื่องหมายคำพูดเดี่ยว) และใช้ชุดอักขระแบบยุโรปตะวันตก?>ผลลัพธ์ HTML ของโค้ดข้างต้นมีดังนี้ (ดูซอร์สโค้ด):
<!DOCTYPE html><html><body>ฉันชื่อ Øyvind Åsane ฉันเป็นคนนอร์เวย์</body></html>ผลลัพธ์ของเบราว์เซอร์ของโค้ดด้านบนจะเป็นดังนี้:
ฉันชื่อ Øyvind Åsane ฉันเป็นชาวนอร์เวย์