ترميز وفك ترميز كيانات HTML
يحتاج HTML إلى تهريب خمسة رموز: & يصبح &، و< يصبح <، و> يصبح >، و" يصبح "، و' يصبح '. وفك ترميز <b> يعطي <b>.
طريقة الاستخدام
- اختر ترميز لتحويل النص إلى كيانات، أو فك الترميز لإعادة الكيانات نصًا، ثم الصق نصك.
- عند الترميز اختر المدى. الأساسي يهرّب الرموز الخمسة غير الآمنة في HTML فقط. بالاسم يستخدم أسماء مثل © حيثما وُجدت. والعشري والست عشري يحولان كل محرف خارج ASCII إلى كيان رقمي.
- انسخ النتيجة. وعند فك الترميز تخبرك الأداة أيضًا بعدد الكيانات التي وجدتها.
طريقة الحساب
كيان HTML يبدأ بـ & وينتهي بفاصلة منقوطة ويمثل محرفًا واحدًا. قد يكون اسمًا (&) أو نقطة رمز عشرية (&) أو نقطة رمز ست عشرية (&). والصيغ الثلاث بالمعنى نفسه.
يجب تهريب خمسة رموز في النص وقيم السمات: & < > " و'. إذا بقي & أو < حرفيًا فقد يقرؤه المتصفح بداية كيان أو وسم. وتُكتب الفاصلة العليا ' لأن ' ليس جزءًا من HTML 4.
الكيانات المسماة موجودة لنطاق Latin-1 (الحروف المشكولة و© و® و£ وما شابهها)، إضافة إلى رموز الطباعة الشائعة مثل — و… و€. أما المحرف الذي ليس له اسم، كالحرف الكوري أو العربي أو الإيموجي، فيستخدم دائمًا كيانًا رقميًا. ويُرمَّز الإيموجي بنقطة الرمز، فيكون الإيموجي الواحد كيانًا واحدًا لا اثنين.
يترك فك الترميز كل ما لا يعرفه كما هو. والكيان الرقمي للصفر، أو لقيمة أكبر من U+10FFFF، أو لنصف زوج بديل، يصبح محرف الاستبدال U+FFFD كما تفعل المتصفحات.
الكيانات الأكثر استخدامًا
| المحرف | الاسم | الرقم |
|---|---|---|
| & | & | & |
| < | < | < |
| > | > | > |
| " | " | " |
| ' | (لا يوجد في HTML 4) | ' |
| مسافة غير قابلة للكسر | |   |
| © | © | © |
| € | € | € |
| — | — | — |
| … | … | … |
أسئلة شائعة
هل يحميني الترميز من XSS؟
تهريب الرموز الخمسة هو الحل الصحيح عند وضع نص غير موثوق داخل محتوى عنصر HTML أو سمة بين علامتي تنصيص. لكنه لا يفيد داخل كتل script، ولا في السمات بلا تنصيص، ولا في عناوين URL، فلكل منها تهريبه الخاص.
هل أحتاج إلى ترميز الحروف المشكولة أو العربية أو الإيموجي؟
لا، إذا قُدمت الصفحة بترميز UTF-8، وهو الافتراضي اليوم. استخدم الكيانات الرقمية فقط عندما لا يستطيع ملفك أو نظامك حفظ تلك المحارف.
ما الفرق بين والمسافة العادية؟
المسافة غير القابلة للكسر تبدو كمسافة لكنها تُبقي الكلمتين على جانبيها في سطر واحد، ولا تُدمج عدة مسافات متتالية منها. استخدمها باعتدال للتنسيق.
لماذا يبقى اسم مثل &foo; دون تغيير؟
يعرف فك الترميز أسماء Latin-1 والأسماء الشائعة المذكورة في الدليل، نحو 130 اسمًا في المجموع. والكيان الذي لا يعرفه يبقى كما كُتب بدل تخمينه.
هل يُرسل نصي إلى خادم؟
لا. الترميز وفك الترميز يجريان في متصفحك.