PHP html_entity_decode() ฟังก์ชัน

ตัวอย่าง

ปรับรหัสตัวแปร HTML entity "<" (น้อยกว่า) และ ">" (มากกว่า) ให้เป็นอักษร:

<?php
$str = "This is some <b>bold</b> text.";
echo htmlspecialchars_decode($str);
?>

ออกมาจาก HTML รหัสที่เหล่านี้ดังนี้ (ดูรหัสต้นฉบับ):

<!DOCTYPE html>
<html>
<body>
This is some <b>bold</b> text.
</body>
</html>

ออกมาจากบราวเซอร์รหัสที่เหล่านี้ดังนี้:

This is some bold text.

การกำหนดและการใช้งาน

htmlspecialchars_decode() ฟังก์ชันแปลงตัวแปร HTML entity ที่กำหนดขึ้นก่อนเป็นอักษร

ตัวแปร HTML entity ที่จะถูกปรับรหัสคือ:

  • & ปรับรหัสเป็น & (สัญลักษณ์และ)
  • " ปรับรหัสเป็น " (อักษรเปิดวรรณยุทธ์)
  • ' ปรับรหัสเป็น ' (อักษรเดี่ยว)
  • < ปรับรหัสเป็น < (น้อยกว่า)
  • > ปรับรหัสเป็น > (มากกว่า)

htmlspecialchars_decode() ฟังก์ชันเป็นฟังก์ชันที่ตรงกันข้ามกับ htmlspecialchars()

การใช้งาน

htmlspecialchars_decode(string,flags)
ตัวแปร รายละเอียด
string สำคัญ。ระบุตัวแปรที่ต้องการปรับรหัส
flags

เลือกตั้ง。ระบุวิธีการจัดการวรรณยุทธ์และชนิดเอกสารที่ใช้

ประเภทวรรณยุทธ์ที่สามารถใช้:

  • ENT_COMPAT - ปริมาณต้นทาง。เปิดรหัสวรรณยุทธ์ฝั่งซ้ายเท่านั้น
  • ENT_QUOTES - ปรับรหัสวรรณยุทธ์ วรรณยุทธ์เปิดทั้งฝั่งซ้ายและขวา
  • ENT_NOQUOTES - ไม่เปิดรหัสใดๆ ของวรรณยุทธ์

ระบุประกายที่ใช้สำหรับชนิดเอกสารที่เพิ่มเติม:

  • ENT_HTML401 - ปริมาณต้นทาง。ใช้รับรองรหัส HTML 4.01。
  • ENT_HTML5 - ใช้รับรองรหัส HTML 5。
  • ENT_XML1 - ใช้รับรองรหัส XML 1。
  • ENT_XHTML - ใช้รับรองรหัส XHTML。

รายละเอียดเทคนิค

ส่งผลลัพธ์ ส่งผลลัพธ์ที่แปลงแล้ว
PHP รุ่น 5.1.0+
บันทึกการปรับปรุง

ใน PHP 5.4 ได้เพิ่ม flag สำหรับกำหนดประเภทเอกสารที่ใช้งาน

  • ENT_HTML401
  • ENT_HTML5
  • ENT_XML1
  • ENT_XHTML

ตัวอย่างเพิ่มเติม

ตัวอย่าง 1

การแปลง HTML สัญลักษณ์ที่กำหนดก่อนเป็นอักษร

<?php
$str = "Bill & 'Steve'";
echo htmlspecialchars_decode($str, ENT_COMPAT); // แปลงสี่วางเท่านั้น
echo "<br>";
echo htmlspecialchars_decode($str, ENT_QUOTES); // การแปลงสี่วางและข้อความเปิดเขิด
echo "<br>";
echo htmlspecialchars_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 = 'I love "PHP".';
echo htmlspecialchars_decode($str, ENT_QUOTES); // การแปลงสี่วางและข้อความเปิดเขิด
?>

ออกมาจาก HTML รหัสที่เหล่านี้ดังนี้ (ดูรหัสต้นฉบับ):

<!DOCTYPE html>
<html>
<body>
I love "PHP".
</body>
</html>

ออกมาจากบราวเซอร์รหัสที่เหล่านี้ดังนี้:

I love "PHP".