tigtools

ترميز كيانات HTML وفك ترميزها

اجعل النص آمنًا للإدراج داخل HTML، أو حوّل الكيانات مثل & وé إلى أحرفها.

تعمل في متصفحك لا يلزم التسجيل

الاتجاه

يُحوَّل & < > " و' دائمًا إلى كيانات. ولا تُحوَّل الأحرف الأخرى إلا إذا اخترت خيارًا للأحرف غير ASCII.

كيفية الاستخدام

  1. اختر «ترميز» لجعل النص آمنًا للاستخدام في HTML، أو «فك الترميز» لتحويل الكيانات إلى أحرفها.
  2. عند الترميز، اختر ما إذا كنت تريد إبقاء الأحرف المُشكّلة والرموز كما هي أو تحويلها إلى كيانات.
  3. اكتب النص أو الصقه؛ ستُحدَّث النتيجة فورًا.
  4. انسخ النتيجة، أو اختر «استخدام الناتج كمدخل» للتحقق من فك ترميزها وعودتها إلى النص الأصلي.

كيف تعمل الأداة

لبعض الأحرف معانٍ خاصة في HTML: يبدأ < وسمًا، ويبدأ & كيانًا، وتنهي " أو ' قيمة سمة. لعرض هذه الأحرف كنص، يجب كتابتها كمراجع أحرف: &lt; للرمز <، و&gt; للرمز >، و&amp; للرمز &، و&quot; للرمز "، و&#39; للرمز '. تُستخدم الصيغة الرقمية للفاصلة العليا لأن &apos; غير معرّف في HTML 4.

يمكن كتابة جميع الأحرف الأخرى مباشرة، بما فيها الأحرف ذات العلامات الصوتية والنصوص الصينية والرموز التعبيرية، عند حفظ الصفحة وتقديمها بترميز UTF-8، وهو الإعداد الافتراضي في المواقع الحديثة. ولا حاجة إلى تحويلها إلى كيانات إلا للأنظمة التي لا تدعم UTF-8 بأمان، مثل بعض قوالب البريد الإلكتروني أو قواعد البيانات القديمة. عندئذٍ يمكنك اختيار الكيانات المسماة مثل &eacute; عندما يتوفر اسم شائع (مع استخدام الصيغة الرقمية بديلًا لسائر الأحرف)، أو المراجع الرقمية مثل &#xE9; لكل حرف.

لا يستخدم فك الترميز محلّل HTML في المتصفح. بل يستخدم جدولًا مضمّنًا يضم جميع الكيانات المسماة الـ252 في HTML 4.01، و& apos; ونحو 30 اسمًا شائعًا من HTML5، إضافةً إلى المراجع العشرية والسداسية عشرة. تتبع المراجع الرقمية قواعد HTML5: تتحول &#0; وقيم الاستبدال وقيم Unicode التي تتجاوز U+10FFFF إلى حرف الاستبدال �، وتُقرأ القيم من 128 إلى 159 بترميز Windows-1252، لذا تصبح &#150; شرطة قصيرة. كما تُقبل بعض الأسماء القديمة مثل &amp و&copy من دون الفاصلة المنقوطة الختامية، كما تفعل المتصفحات. يعرّف HTML5 أكثر من 2,000 اسم؛ وتُترك الأسماء النادرة غير الموجودة في الجدول كما هي وتُدرج في القائمة.

يُعدّ تهريب النص قبل إدراجه في HTML وسيلة دفاع مهمة ضد البرمجة النصية عبر المواقع (XSS)، لكنه مناسب فقط لمحتوى العناصر وقيم السمات الموضوعة بين علامتي اقتباس. أما النص داخل كتلة <script> أو سمة style أو عنوان URL، فيتطلب تهريبًا مختلفًا.

أمثلة

عرض الشيفرة على صفحة ويب

لعرض <div class="box"> كنص في تدوينة، حوّله إلى &lt;div class=&quot;box&quot;&gt;. سيعرض المتصفح الوسم الأصلي بدلًا من إنشاء عنصر.

تهيئة النص لقالب بريد إلكتروني قديم

عند اختيار «الكيانات المسماة حيثما توفرت»، تتحول العبارة “Café – 5 €” إلى Caf&eacute; &ndash; 5 &euro;، فتُعرض بشكل صحيح حتى عند إرسال البريد الإلكتروني بترميز أحرف غير UTF-8.

تنظيف النص المستخرج أو المُصدَّر

يحتوي تصدير من نظام إدارة المحتوى على Fish &amp; Chips &#8211; &pound;9. بعد فك الترميز يصبح Fish & Chips – £9، جاهزًا للصق في جدول بيانات.

الأسئلة الشائعة

ما الأحرف التي يجب تحويلها إلى كيانات في HTML؟

في محتوى العناصر، يجب تحويل & و< إلى كيانات (ويُستحسن تحويل > أيضًا). وداخل قيم السمات، حوّل كذلك علامة الاقتباس التي تحيط بالقيمة. تحويل الأحرف الخمسة كلها (& < > " ') في جميع الحالات هو القاعدة البسيطة والآمنة التي تتبعها هذه الأداة.

ما الفرق بين الكيانات المسماة والرقمية؟

الكيانات المسماة مثل &copy; أسهل في القراءة، لكنها متاحة لمجموعة محدودة من الأحرف فقط. أما المراجع الرقمية مثل &#169; (عشري) أو &#xA9; (ست عشري)، فتصلح لكل أحرف Unicode، بما فيها الرموز التعبيرية.

لماذا يُفك ترميز &nbsp; إلى شيء يبدو كالمسافة؟

يمثل &nbsp; مسافة غير قابلة للكسر (U+00A0). تبدو كالمسافة العادية، لكنها تمنع الانتقال إلى سطر جديد ولا يدمجها HTML. وهي حرف مختلف عن المسافة العادية، وهذا مهم عند مقارنة النصوص أو البحث فيها.

هل أحتاج إلى ترميز الأحرف المُشكّلة مثل é؟

لا، إذا كانت صفحتك تستخدم UTF-8 (<meta charset="utf-8">)، وهو ما تفعله معظم الصفحات الحديثة. أبقِ الإعداد الافتراضي، ولن تُحوَّل إلا الأحرف الخاصة الخمسة.

هل يكفي الترميز لمنع XSS؟

يكفي ذلك للنص غير الموثوق الذي يُدرج داخل محتوى عناصر HTML أو داخل قيم السمات الموضوعة بين علامتي اقتباس. لكنه لا يكفي لشفرة JavaScript أو CSS، أو السمات غير المحاطة بعلامتي اقتباس، أو عناوين URL مثل href="javascript:…"؛ إذ تتطلب هذه الحالات معالجة خاصة بالسياق.

الخصوصية

تُجرى عمليتا الترميز وفك الترميز باستخدام عمليات نصية عادية في متصفحك؛ ولا يُعرض نصك على هيئة HTML أو يُرفع أو يُخزّن أو يُدرج ضمن بيانات التحليلات.