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

اختياري. تحديد كيفية معالجة العلامات اقتباس وكيفية استخدام نوع الوثيقة.

نوع العلامات المسموح بها:

  • ENT_COMPAT - الافتراضي. يتم解码 العلامات اقتباس الدوائر فقط.
  • ENT_QUOTES - يتم解码 العلامات اقتباس الدوائر والأسهم.
  • ENT_NOQUOTES - لا يتم解码 أي علامات اقتباس.

تحديد flags الإضافية للنوع المستخدم للوثيقة:

  • ENT_HTML401 - الافتراضي. معالجة الكود كـ HTML 4.01.
  • ENT_HTML5 - معالجة الكود كـ HTML 5.
  • ENT_XML1 - معالجة الكود كـ XML 1.
  • ENT_XHTML - معالجة الكود كـ XHTML.
character-set

اختياري. قيمة نصية، تحدد مجموعة الحروف التي سيتم استخدامها.

القيم المسموح بها:

  • UTF-8 - الافتراضي. ASCII متوافق مع 8 بت Unicode متعدد الأحرف
  • ISO-8859-1 - أوروبا
  • ISO-8859-15 - أوروبا (تضيف رموز اليورو + الأحرف الفرنسية والفنلندية المفقودة في ISO-8859-1)
  • cp866 - مجموعة الحروف المخصصة لدواس
  • 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.

تفاصيل تقنية

القيمة المعدة يعود النص المحول
إصدار PHP: 4.3.0+

سجل التحديثات:

الإصدار الشرح
PHP 5 character-set تم تغيير القيمة الافتراضية للمعامل إلى UTF-8.
PHP 5.4

إضافة flags إضافية لتحديد نوع الوثائق التي تنطبق عليها قائمة الترجمة:

  • ENT_HTML401
  • ENT_HTML5
  • ENT_XML1
  • ENT_XHTML
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.