النص

Text Reverse

عكس النص: حسب الأحرف، أو حسب الكلمات (ترتيب الكلمات)، أو حسب الأسطر (ترتيب الأسطر).

This tool reverses text three different ways: by character (letters run in reverse order), by word (words swap places but stay intact), or by line (line order is flipped).

How to use it

Common uses

Things to keep in mind

A naive reversal by Unicode code point breaks composite characters (emoji with modifiers, some languages' combining diacritics) — a correct implementation splits text into grapheme clusters rather than individual code points.

Word-mode reversal doesn't change the letter order inside each word — it only rearranges the words themselves, not a character-level reversal.

مقالة عن هذه الأداة: عكس النص: لماذا يفشل مع الرموز التعبيرية

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

ما الفرق بين أوضاع العكس الثلاثة؟

وضع الأحرف يعكس ترتيب كل حرف في النص، ووضع الكلمات يعكس ترتيب الكلمات مع إبقاء كل كلمة كما هي، ووضع الأسطر يعكس ترتيب الأسطر مع إبقاء محتوى كل سطر دون تغيير.

لماذا قد يظهر النص المعكوس حسب الأحرف بشكل مشوّه أحيانًا؟

عكس النص حرفًا بحرف قد يكسر تسلسلات يونيكود متعددة البايت أو الرموز التعبيرية أو الأحرف المركّبة (combining characters) لأنها تعتمد على ترتيب معيّن، مما يؤدي إلى نتيجة مشوّهة بصريًا؛ بينما عكس الكلمات أو الأسطر لا يواجه هذه المشكلة لأنه لا يفكك محتوى الوحدة نفسها.

هل النص الذي أدخله يُرسل إلى خادم؟

لا، العكس يتم بالكامل داخل متصفحك عبر JavaScript، دون إرسال النص إلى أي خادم.

ما هو عنقود الحروف الرسومية؟

هو ما يعتبره الإنسان "حرفًا مرئيًا واحدًا"، رغم أنه في يونيكود قد يتكون أحيانًا من عدة نقاط ترميز — رمز تعبيري لعائلة، مثلاً، يتكون من عدة رموز تعبيرية منفصلة مجمّعة بحرف ربط خاص. العكس الصحيح للنص يجب أن يُبقي هذه العناقيد معًا كوحدة واحدة.

هل يمكن عكس رمز تعبيري بحيث يبقى صحيحًا؟

نعم، إذا قسّم العكس السلسلة إلى عناقيد حروف رسومية قبل تغيير الترتيب، لا إلى نقاط ترميز فردية — عندها تبقى الرموز التعبيرية المركّبة (مع معدّلات لون البشرة أو أعلام الدول) سليمة بعد العملية.

مقالات: النص

camelCase وsnake_case وkebab-case: متى نستخدم كل صيغة

لماذا يوجد camelCase وsnake_case وkebab-case، وأين يُستخدم كل منها عادة.

Text Diff: كيف تعمل خوارزمية إيجاد الفروقات بين النصوص

كيف تجد خوارزمية الديف أصغر مجموعة تغييرات بين نسختين من نص.

التعبيرات النمطية: الأساسيات وفخّ المطابقة الجشعة

الفرق بين المطابقة الجشعة والكسولة في التعبيرات النمطية ولماذا يهم ذلك عمليًا.

فرز الأسطر: لماذا يختلف الفرز الأبجدي عن العددي

لماذا يعامل الفرز الأبجدي الأرقام كنص، وكيف يختلف ذلك عن الفرز العددي.

الهروب بالأحرف: لماذا يختلف حسب السياق (JS وJSON والشِل والريجكس)

لماذا لا توجد قاعدة هروب واحدة تصلح لكل السياقات: JS وJSON والشِل والريجكس.

CRLF وLF: لماذا لا تزال نهايات الأسطر تسبّب مشاكل

من أين جاء الفرق بين CRLF وLF، ولماذا لا يزال يسبب مشاكل مع git والسكربتات.

عدّ الأحرف والكلمات: لماذا يعتمد على يونيكود

لماذا يمكن أن يتكون رمز تعبيري واحد ظاهريًا من عدة نقاط ترميز في يونيكود.

Lorem Ipsum: من أين جاء نص الحشو ولماذا لا معنى له

من أين جاء نص Lorem Ipsum فعليًا، ولماذا يُستخدم نص بلا معنى بدلاً من نص حقيقي.

Slugify: كيف يتحول العنوان إلى رابط صالح

كيف يتحول عنوان مقالة إلى رابط نظيف وقابل للقراءة بشرطات.

Markdown: لماذا أصبح معيار التوثيق

لماذا يظل Markdown مقروءًا حتى في صورته الخام، بخلاف HTML.

المسافات غير المرئية: لماذا تفشل مقارنة نصين متطابقين ظاهريًا

كيف يمكن لمسافة غير مرئية أن تجعل مقارنة نصين متطابقين ظاهريًا تفشل.

تحليل تكرار النص: من سحابة الكلمات إلى كسر الشيفرات

كيف ساعد تحليل تكرار الحروف تاريخيًا في كسر شيفرات الاستبدال البسيطة.