PHP html_entity_decode() ฟังก์ชัน
ตัวอย่าง
แปลงตัวอักษรที่ใช้ตัวเลขทาง HTML ให้เป็นตัวอักษร:
<?php $str = "<© W3Sçh°°¦§>"; echo html_entity_decode($str); ?>
ออกมาด้วย HTML ตามต่อไปนี้ (ดูต้นฉบับ):
<!DOCTYPE html> <html> <body> <? W3S?h????> </body> </html>
การแสดงทางบราวเซอร์ของโค้ดดังกล่าว:
<? W3S?h????>
คำนำออกและวิธีใช้
html_entity_decode() ฟังก์ชันแปลงจากตัวเลข HTML มาเป็นตัวอักษร
html_entity_decode() ฟังก์ชันคือ htmlentities() 函數的反函數。
語法
html_entity_decode(string,flags,character-set)
參數 | 描述 |
---|---|
string | 必需。規定要解碼的字串。 |
flags |
選項。規定如何處理引號以及使用哪種文檔類型。 可用的引號類型:
規定所使用文檔類型的附加 flags:
|
character-set |
選項。字串值,規定要使用的字符集。 允許的值:
註釋:在 PHP 5.4 之前的版本,無法被識別的字符集將被忽略並由 ISO-8859-1 替代。自 PHP 5.4 起,無法被識別的字符集將被忽略並由 UTF-8 替代。 |
技術細節
返回值: | 返回被轉換的字符串 |
PHP 版本: | 4.3.0+ |
更新日誌:
版本 | 說明 |
---|---|
PHP 5 | character-set 參數的默認值改為 UTF-8。 |
PHP 5.4 |
新增了用于規定翻譯表適用的文檔類型的附加 flags:
|
PHP 5.3.4 | เพิ่มการสนับสนุนการเข้ารหัสมากี่บิต |
ตัวอย่างเพิ่มเติม
ตัวอย่าง 1
แปลงตัวอักษรที่ใช้ตัวเลขทาง HTML ให้เป็นตัวอักษร:
<?php $str = "Bill & 'Steve'"; echo html_entity_decode($str, ENT_COMPAT); // แปลงอักษรนิรุกต์ที่เป็นบรรทัดนำเท่านั้น echo "<br>"; echo html_entity_decode($str, ENT_QUOTES); // แปลงอักษรนิรุกต์ทั้งบรรทัดนำและหลัง echo "<br>"; echo html_entity_decode($str, ENT_NOQUOTES); // ไม่แปลงใดๆ ของอักษรนิรุกต์ ?>
การแสดงทาง HTML ของโค้ดดังกล่าว (ดูรหัสที่แสดง):
<!DOCTYPE html> <html> <body> Bill & 'Steve'<br> Bill & 'Steve'<br> Bill & 'Steve' </body> </html>
การแสดงทางบราวเซอร์ของโค้ดดังกล่าว:
Bill & 'Steve' Bill & 'Steve' Bill & 'Steve'
ตัวอย่าง 2
แปลงตัวอักษรที่ใช้ตัวเลขทาง HTML ด้วยการใช้ชุดอักษรของยุโรปตะวันตก:
<?php $str = "My name is Øyvind Åsane. I'm Norwegian."; echo html_entity_decode($str, ENT_QUOTES, "ISO-8859-1"); ?>
การแสดงทาง HTML ของโค้ดดังกล่าว (ดูรหัสที่แสดง):
<!DOCTYPE html> <html> <body> My name is ?yvind ?sane. I'm Norwegian. </body> </html>
การแสดงทางบราวเซอร์ของโค้ดดังกล่าว:
My name is ?yvind ?sane. I'm Norwegian.