htmlentities
تابع htmlentities بعضی نویسه ها را به «موجودیت HTML (HTML Entity)» تبدیل می کند. «موجودیت» نسخه کدیِ حروف خاص است. مثلا & به & تبدیل می شود تا امن نمایش یابد.
تعریف و کاربرد
این تابع برای نمایش امن متن در HTML استفاده می شود. بنابراین مرورگر آن را کد می بیند، نه دستور. برای برگرداندن به متن عادی، از html_entity_decode استفاده کن.
سینتکس
htmlentities(string, flags, character-set, double_encode)
flags نوع نقل قول و داک تایپ را تعیین می کند. character-set مجموعه نویسه است. double_encode می گوید entityهای موجود دوباره کد شوند یا نه.
مثال پایه: تبدیل کاراکترها به entity
<?php
$str = '<a href="https://www.w3schools.com">Go to w3schools.com</a>';
echo htmlentities($str);
?>
کنترل نقل قول ها با flags
<?php
$str = "Albert Einstein said: 'E=MC²'";
echo htmlentities($str, ENT_COMPAT);
echo "<br>";
echo htmlentities($str, ENT_QUOTES);
echo "<br>";
echo htmlentities($str, ENT_NOQUOTES);
?>
انتخاب مجموعه نویسه (character-set)
<?php
$str = "My name is Øyvind Åsane. I'm Norwegian.";
echo htmlentities($str, ENT_QUOTES, "UTF-8");
?>
گام های عملی سریع
- رشته ورودی را آماده کن.
- فلگ مناسب نقل قول را انتخاب کن.
- در صورت نیاز، کاراکترست را تنظیم کن.
- تابع را صدا بزن و خروجی را چاپ کن.
نکته: برای HTML5 از ENT_HTML5 استفاده کن. جدول نگاشت را در get_html_translation_table ببین.
هشدار: از ENT_IGNORE کمتر استفاده کن. ممکن است پیامد امنیتی داشته باشد.
لینک های مرتبط داخل سایت
صفحه htmlentities مرجع تبدیل است. برای برعکس کردن تبدیل، به html_entity_decode برو. همچنین جدول نگاشت را در get_html_translation_table بررسی کن.
جمع بندی سریع
- متن را برای HTML امن می کند.
- فلگ ها نقل قول ها را کنترل می کنند.
- UTF-8 انتخاب مطمئن است.
- double_encode از دوباره کد شدن جلوگیری می کند.