แปลงอักขระที่กำหนดไว้ล่วงหน้า "<" (น้อยกว่า) และ ">" (มากกว่า) เป็นเอนทิตี HTML:
<?php $str = " นี่ คือข้อความ <b>ตัวหนา</b> " ; html อักขระ พิเศษ ( $str ) ;ผลลัพธ์ HTML ของโค้ดข้างต้นมีดังนี้ (ดูซอร์สโค้ด):
< ! ด็อกไทป์ html > <html> < body > นี่คือ < b > ตัว หนา & lt ; /b > ข้อความ </html>ผลลัพธ์ของเบราว์เซอร์ของโค้ดด้านบนจะเป็นดังนี้:
นี่คือข้อความ<b>ตัวหนา</b>ฟังก์ชัน htmlspecialchars() แปลงอักขระที่กำหนดไว้ล่วงหน้าบางตัวให้เป็นเอนทิตี HTML
อักขระที่กำหนดไว้ล่วงหน้าคือ:
& (เครื่องหมาย) กลายเป็น &
" (เครื่องหมายคำพูดคู่) กลายเป็น "
' (เครื่องหมายคำพูดเดี่ยว) กลายเป็น '
< (น้อยกว่า) กลายเป็น <
> (มากกว่า) กลายเป็น>
เคล็ดลับ: หากต้องการแปลงเอนทิตี HTML พิเศษกลับไปเป็นอักขระ ให้ใช้ฟังก์ชัน htmlspecialchars_decode()
htmlอักขระพิเศษ ( สตริง แฟล็ก ชุดอักขระ 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 = " เจน & 'ทาร์ซาน' " ; htmlspecialchars ( $str , ENT_COMPAT ) ; // ค่าเริ่มต้น เข้ารหัสเฉพาะเครื่องหมายคำพูดคู่เท่านั้น เสียงสะท้อน " <br> " ; htmlspecialchars ( $str , ENT_QUOTES ) ; // เข้ารหัสเครื่องหมายคำพูดคู่และเครื่องหมายคำพูดเดี่ยว เสียงสะท้อน " <br> " ; htmlspecialchars ( $str , ENT_NOQUOTES ) ; // อย่าเข้ารหัสเครื่องหมายคำพูดใดๆ -ผลลัพธ์ HTML ของโค้ดข้างต้นมีดังนี้ (ดูซอร์สโค้ด):
< ! ด็อกไทป์ html > <html> < body > เจน & ' ทาร์ซาน ' < br > เจน & ' ทาร์ซาน ' < br > เจน & ' ทาร์ซาน ' </ body > </html>ผลลัพธ์ของเบราว์เซอร์ของโค้ดด้านบนจะเป็นดังนี้:
เจน & 'ทาร์ซาน'เจน & 'ทาร์ซาน'เจน & 'ทาร์ซาน'แปลงเครื่องหมายคำพูดคู่เป็นเอนทิตี HTML:
<?php $str = ' ฉัน ชอบ "PHP" ' ; htmlspecialchars ( $str , ENT_QUOTES ) ; // เข้ารหัสเครื่องหมายคำพูดคู่และเครื่องหมายคำพูดเดี่ยว ?> ;ผลลัพธ์ HTML ของโค้ดข้างต้นมีดังนี้ (ดูซอร์สโค้ด):
< ! ด็อกไทป์ html > <html> < body > ฉันรัก & quot ; PHP & quot ; </html>ผลลัพธ์ของเบราว์เซอร์ของโค้ดด้านบนจะเป็นดังนี้:
ฉันรัก " PHP"