تالار گفتمان nCIS.ir

نسخه‌ی کامل: سوال در مورد htmlentities و htmlspecialchars
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام

آیا htmlentities و htmlspecialchars فرق خاصی باهمدیگه دارن؟
استفاده از کدومشون بهتره؟

متشکرم.
بله تفاوت دارن. طبق مستندات:

htmlspecianchars
کارکترهای خاصی در HTML هستن که اهمیت دارن و باید بصورت موجودیت‌های HTML نمایش داده بشن اگه قراره معنای خودشون رو حفظ کنن. این تابع یه رشته برمیگردونه که این کارکترهای خاص به‌نحوی تبدیل شدن که دیگه معنای خاص خودشون رو توی HTML نمیدن.

htmlentities
این تابع کاملاً مشابه htmlspecialchars هست با این تفاوت که تمام کارککترهایی که معادل کدگذاری‌شده‌ی HTML دارن رو تبدیل میکنه (نه‌فقط اونهایی که با اهمیت هستن).

برای درک بهتر، به این مثال دقت کنید:

echo htmlentities('<Il était une fois un être>.');
// Output: &lt;Il &eacute;tait une fois un &ecirc;tre&gt;.
//                ^^^^^^^^                 ^^^^^^^

echo htmlspecialchars('<Il était une fois un être>.');
// Output: &lt;Il était une fois un être&gt;.
//                ^                 ^