تابع PHP htmlentities()

مثال

بایستی حروف را به صورت HTML entity تبدیل کند:


مذکورہ بالا کو کھوجی کا HTML خروجی جیسا ہے (اس کا سورس دیکھیں):

<!DOCTYPE html>
<html>
<body>
<© W3Sçh°°¦§>
</body>
</html>

مذکورہ بالا کو کھوجی کا خروجی:

<? W3S?h????>

تعریف و نحوه استفاده

تابع htmlentities() برای تبدیل کاراکتر به HTML entity استفاده کنید.

توضیحات:برای تبدیل HTML entity به کاراکتر، از html_entity_decode() تابع.

توضیحات:از get_html_translation_table() تابع. تابعی برای بازگرداندن جدول ترجمه‌ای که توسط تابع htmlentities() استفاده می‌شود.

نحوه استفاده

htmlentities(string,flags,character-set,double_encode)
پارامترها شرح
string ضروری. مشخص می‌کند که کدام رشته باید تبدیل شود.
flags

اختیاری. مشخص می‌کند که چگونه نقل قول‌ها، کدهای نامعتبر و نوع سند استفاده می‌شوند.

نوع‌های نقل قول موجود:

  • ENT_COMPAT - پیش‌فرض. تنها نقل قول‌های دوگانه کدگذاری می‌شوند.
  • ENT_QUOTES - نقل قول‌های دوگانه و یکگانه کدگذاری می‌شوند.
  • ENT_NOQUOTES - هیچ نقل قولی کدگذاری نمی‌شود.

کدهای نامعتبر:

  • ENT_IGNORE - کاراکترهای کد نامعتبر را نادیده می‌گیرد، به جای اینکه یک رشته خالی بازگرداند. باید از آن به حداقل ممکن استفاده شود، زیرا ممکن است تأثیرات امنیتی داشته باشد.
  • ENT_SUBSTITUTE - کاراکترهای کد نامعتبر را با یک کاراکتر مشخص شده با کاراکتر جایگزین Unicode U+FFFD (UTF-8) یا &#FFFD; جایگزین می‌کند، به جای اینکه یک رشته خالی بازگرداند.
  • ENT_DISALLOWED - کاراکترهای نامعتبر در نوع سند مشخص شده را با کاراکتر جایگزین Unicode U+FFFD (UTF-8) یا &#FFFD; جایگزین می‌کند.

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 - کدک ویژه DOS برای کyrillic
  • cp1251 - کدک ویژه ویندوز برای کyrillic
  • cp1252 - کدک ویژه ویندوز برای زبان‌های اروپایی
  • 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 entities موجود کدگذاری شود یا خیر.

  • TRUE - پیش‌فرض. برای هر یک از entities کدگذاری می‌کند.
  • FALSE - برای HTML entities موجود، کدگذاری نمی‌کند.

جزئیات فنی

مقدار بازگشتی:

رشته تبدیل شده را بازمی‌گرداند.

اگر string اگر شامل کدک نامعتبر باشد، یک رشته خالی بازمی‌گرداند، مگر اینکه ENT_IGNORE یا ENT_SUBSTITUTE تنظیم شده باشد.

نسخه PHP: 4+
نکات به‌روزرسانی:

در PHP 5،character-set مقدار پیش‌فرض پارامترها به 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، جدید اضافه شد character-set پارامترها.

مثال‌های بیشتری

مثال 1

بایستی حروف را به صورت HTML entity تبدیل کند:

";
echo htmlentities($str, ENT_QUOTES); // بایستی اعداد دودار و تک قوس را تبدیل کند
echo "
"; echo htmlentities($str, ENT_NOQUOTES); // 不转换任何引号 ?>

مذکورہ بالا کو کھوجی کا HTML خروجی جیسا ہے (اس کا سورس دیکھیں):

<!DOCTYPE html>
<html>
<body>
Bill & 'Steve'
Bill & 'Tarzan'
Bill & 'Steve' </body> </html>

مذکورہ بالا کو کھوجی کا خروجی:

Bill & 'Steve'
Bill & 'Steve'
Bill & 'Steve'

چلنے والی مثال

例子 2

通过使用西欧字符集,把一些字符转换为 HTML 实体:


مذکورہ بالا کو کھوجی کا HTML خروجی جیسا ہے (اس کا سورس دیکھیں):

<!DOCTYPE html>
<html>
<body>
میرا نام Øyvind Øsane ہے. میں ناروے کا رہا ہوں.
</body>
</html>

مذکورہ بالا کو کھوجی کا خروجی:

میرا نام Øyvind Øsane ہے. میں ناروے کا رہا ہوں.

چلنے والی مثال