بیاید ویژگی های این تابع را با مثال یادبگیریم.
<?php
$str="<© W3Sçh°°¦§>";
echohtml_entity_decode($str);
?>
همان طور که مشاهده میکنید متغیر str$ کد های HTML را شامل میشود ، سپس خواسته شده با استفاده از تابع ()html_entity_decode متغیر str$ چاپ شود. خروجی به صورت زیر خواهد شد :
w3sh
هر آنچه که حذف شد جزو کد های HTML بوده است. حال یک مثال دیگر ببینیم که برخی از کد های HTML به کاراکتر تبدیل میشود ، یعنی تابع را محدود خواهیم کرد.
<?php
$str="Jane & 'Tarzan'";
echohtml_entity_decode($str،ENT_COMPAT);// Will only convert double quotes
echo"<br>";
echohtml_entity_decode($str،ENT_QUOTES);// Converts double and single quotes
echo"<br>";
echohtml_entity_decode($str،ENT_NOQUOTES);// Does not convert any quotes
?>
قبل از تحلیل دستور نوشته شده نحوه نوشتن تابع تابع ()html_entity_decode را بررسی کنیم. درون این تابع بخش های زیر قرار میگیرد.
html_entity_decode(string،flags،character-set)
بخش string اجباری است. حتما باید مشخص شود که چه متغیری باید این تغییرات بر رویش اعمال شود.
بخش flag و character-set اختیاری هستند. که در این مثال از بخش flag برای محدود کردن تابع استفاده شده است.
حال echo ها نوشته شده در این مثال را قدم به قدم بررسی میکنیم :
echo html_entity_decode($str،ENT_COMPAT);
متغیر str مشخص است. ENT_COMPAT یعنی دبل کتیشون ها را تبدیل کن. دبل کتیشون در HTML به صورت
"
نوشته میشود. در این مثال چنین کدی وجود ندارد بنابراین تغییری در چاپ متغیر ایجاد نمیشود
ENT_QUOTES
کدهای HTML مربوط به تک کتیشن را به کاراکتر تبدیل میکند. ‘ یا تک کتیشن در کد های HTML به صورت زیر نمایش داده میشوند.
#039
پس در این echo این علامت برداشته میشود. و به صورت زیر چاپ میشود :
Jane&'Tarzan'
و echo اخر که از ENT_NOQUOTES استفاده شده است. این flag هیچ یک از کد های HTML را تبدیل نمی کند. و خروجی به صورت زیر خواهد شد :
Jane&'Tarzan'
در کل همه این چاپ ها در HTML به این صورت خواهد بود :
<!DOCTYPE html>
<html>
<body>
Jane&'Tarzan'<br>
Jane&'Tarzan'<br>
Jane&'Tarzan'
</body>
</html>
و خروجی نهایی کد HTML :
Jane&'Tarzan'
Jane&'Tarzan'
Jane&'Tarzan'