تحويل إلى flatcase
تصبح Hello World وHelloWorld كلتاهما helloworld، وتصبح kebab-case-name الصيغة kebabcasename. تتحول كل الحروف إلى صغيرة وتختفي كل الفواصل، فتبقى تسمية واحدة متصلة للحقول التي لا تقبل المسافات أو علامات الترقيم. مجانية في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- النص
- Hello World
- النتيجة
- helloworld
- الطول
- 10
- الطول الأصلي
- 11
- عدد الكلمات
- 2
Flatcase (ويُكتب أيضًا flat case) هو أسلوب التسمية المدمج الذي يحوّل كل حرف إلى صغير ويزيل كل فاصل، فيترك سلسلة أبجدية رقمية واحدة مستمرة. يلجأ إليه المطوّرون حين يحتاجون معرّفات كثيفة، أو تسميات آلة بلا مسافات أو علامات ترقيم، أو خطوة تطبيع حتمية قبل التجزئة أو المقارنة أو تعبئة الأسماء في حقول ضيقة. تأخذ هذه الأداة العبارة أو المعرّف الذي تدخله، وتكتشف حدود كلمات camelCase وPascalCase لعدّ الكلمات بدقة، وتزيل المسافات والشرطات والشرطات السفلية والنقاط وسائر المحارف غير الأبجدية الرقمية، وتخفّض كل حرف متبقٍ إلى صغير بخرائط Unicode، وتعيد سلسلة flatcase مع الطول وبيانات التغيير. تُرفض الإدخالات الفارغة بخطأ تحقق واضح بدل إرجاع سلسلة فارغة بصمت، مما يحمي العملاء الذين نسوا ربط حقل نموذج.
كيف تعمل التحويل إلى flatcase
يُدرج المحوّل أولًا حدودًا مؤقتة عند حواف camelCase وPascalCase حتى تُعدّ الاختصارات والمعرّفات متعددة الكلمات بشكل صحيح: ينقسم محرف صغير أو رقم يليه حرف كبير، وتنقسم سلاسل الأحرف الكبيرة المتبوعة بكبير ثم صغير بحيث تصبح أنماط مثل XMLHttp ثلاث كلمات منطقية. بعد تلك القواطع البنيوية يُستبعد كل محرف غير أبجدي رقمي—مسافات وشرطات وشرطات سفلية ونقاط وترقيم ورموز—بالكامل بدل استبداله بفاصل آخر. تُخفَّض الأحرف والأرقام المتبقية إلى صغير عبر toLowerCase اليونيكود للمضيف حتى تُطوى الحروف اللاتينية المنبّرة دون نزع التشكيل، ثم تُلصق في سلسلة واحدة مستمرة.
تبقى الأرقام ملتصقة بالشرائح المجاورة بعد زوال الفواصل، فيظل رموز المنتج ومقاطع الإصدار مقروءة كرمز مضغوط. تفشل السلاسل الفارغة والإدخالات التي لا تحتوي إلا فواصل في التحقق قبل إرجاع نتيجة. ولأن المسار تحليل parse خالص على سلاسل، تبقى الكمون دون الملّي ثانية للنماذج النموذجية، ونموذج التكلفة المنشور تحليلي لا يعتمد على رموز نموذج.
ما الذي ترسله وما الذي تستقبله
أرسل حقلًا إلزاميًا واحدًا باسم text يحتوي العبارة أو المعرّف غير الفارغ الذي تريده بصيغة flatcase. تُحوَّل الأرقام والقيم المنطقية إلى نصها العشري أو true/false؛ وتُرفض الكائنات والمصفوفات وNaN وInfinity. استخدم نموذج المتصفح المجاني للصق والنسخ السريع، ثم استدعِ العقد نفسه من السكربتات عند تطبيع التسميات لمفاتيح مضغوطة أو بناء معرّفات آلة كثيفة أو إزالة الفواصل قبل المقارنة.
إذا احتاج مسار عملك لاحقًا شرطات سفلية أو شرطات أو أحرف camelCase الكبيرة أو title case، فاعاملها كأدوات منفصلة بدل إثقال صفحة convert-to-flat-case هذه.
حالات الاستخدام
بناء معرّفات آلة مضغوطة
حوّل العبارات البشرية والمعرّفات المختلطة إلى رموز مستمرة بأحرف صغيرة لمفاتيح كثيفة ووسوم وحقول بعرض ثابت.
مولّدات الشيفرة والسقالات
مرّر العبارات إلى خطوة flatcase حتمية عند بناء تسميات يجب أن تكون كلها صغيرة بلا فواصل.
الأسئلة الشائعة
ماذا يفعل التحويل إلى flatcase؟
يحوّل عبارتك أو معرّفك إلى أحرف صغيرة ويزيل كل فاصل—مسافات وشرطات وشرطات سفلية وترقيم—فتصبح النتيجة سلسلة أبجدية رقمية واحدة مستمرة.
ماذا يحدث إذا أرسلت نصًا فارغًا؟
تُرفض السلاسل الفارغة والإدخال الذي يقتصر على فواصل حتى يلاحظ العملاء الحقول الناقصة بدل نتيجة فارغة صامتة.
هل تُزال علامات التشكيل من الحروف؟
لا، فالحروف المشكولة تصبح صغيرة لكنها تحتفظ بعلامتها، فيتحول É إلى é وليس إلى e مجردة. لا يُحذف إلا الفواصل وعلامات الترقيم، ولا تُحذف الحروف نفسها أبدًا.
ماذا يحدث للأرقام؟
تبقى الأرقام وتلتصق بالحروف المجاورة بعد اختفاء الفواصل. وبذلك تظل رموز المنتجات وأجزاء أرقام الإصدارات مقروءة كتسمية واحدة مدمجة دون أن تفقد أرقامها.
ماذا أفعل إذا أردت الإبقاء على الشرطات أو الشرطات السفلية؟
عندها لا تناسبك صيغة flatcase، لأنها تحذف كل الفواصل. إذا احتجت إلى شرطات سفلية أو شرطات أو حروف كبيرة داخل الكلمات أو صيغة العناوين، فاستخدم أداة مخصصة لتلك الكتابة.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/str/flat-case \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello World"}'const res = await fetch("https://api.kit.forhosting.com/str/flat-case", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello World"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/flat-case",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello World"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/flat-case", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello World"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello World"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/flat-case", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"text": "Hello World"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.flat_case",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
تتحوّل Hello World وhello_world وHelloWorld كلها إلى helloworld. لا رحلات شبكة داخل المحرك، ولا بذور عشوائية، ولا اعتماد على الساعة: النص المتطابق يُنتج دائمًا JSON متطابقًا.
كيف تعمل التحويل إلى flatcase
الخوارزمية تسلسل ثابت من إعادة كتابة نصية نقية بلا علم لغة وبلا شبكة وبلا عشوائية، فنفس الإدخال يعطي دائمًا JSON النتيجة نفسه في ودجت المتصفح وعلى Worker. تفشل أيضًا الحمولات الطويلة جدًا فوق سقف الأحرف الموثّق بـ invalid_input حتى لا يحتكر طلب واحد ذاكرة Worker.
ما الذي ترسله وما الذي تستقبله
تُقبل أسماء بديلة مثل input وvalue وdata وs وmessage وstring وcontent وbody وphrase لتيسير ربط العملاء القدامى. عند النجاح تعكس الاستجابة text الأصلي وresult بصيغة flatcase وlength للنتيجة وoriginal_length وword_count للشرائح المضمومة وchanged منطقيًا وoperation بقيمة flat_case. فحوصات كلاسيكية: Hello World تصبح helloworld وHelloWorld تصبح helloworld وkebab-case-name تصبح kebabcasename وsnake_case_name تصبح snakecasename، وسلسلة أبجدية رقمية صغيرة نقية مسبقًا تبقى مطابقة مع changed false. تسعير استدعاءات API الناجحة هو الأساس المنشور $0.002 لكل عنصر؛ ولا تستهلك إخفاقات التحقق بما فيها النص الفارغ الرصيد المدفوع مسبقًا.
أين تظهر أدوات flatcase في العمل الفعلي
تربط عملاء الجوال والويب عبارات التسويق بوسوم آلة مضغوطة لقواميس تحليلات تمنع المسافات والترقيم. تلصق فرق المنتج والنمو أسماء التجارب في مربع flatcase قبل أرشفتها في أنظمة لا تقبل إلا معرّفات مستمرة. فضّل هذه الصفحة عندما تكون نية البحث حرفيًا التحويل إلى flat case أو محوّل flatcase؛ وإذا احتجت شرطات سفلية أو شرطات أو أحرف camelCase الكبيرة فاستخدم الأدوات الشقيقة المخصصة بدل مدّ هذه القدرة خارج عقدها. تحتاج فرق الخلفية والبيانات أحيانًا شكلًا أكثف من snake_case عند تعبئة التسميات في حقول بعرض ثابت أو أنظمة قديمة أو مفاتيح مقارنة يجب أن تتجاهل أسلوب الفاصل. غالبًا ما تزيل مهام ETL التي توفّق الأسماء بين المورّدين كل فاصل حتى تُجزَّأ hello-world وhello_world وHelloWorld إلى الرمز المسطح نفسه قبل إزالة التكرار. يحتاج المطوّرون الذين يكتبون مولّدات الشيفرة وأعلام الميزات والسقالات إلى وسيط حتمي يعيد شكل JSON نفسه في ودجت المتصفح وAPI عندما تكون اتفاقية المنتج كلّه صغيرًا بلا فواصل. ولأن هذه القدرة محرك parse خالص، فإن تسعير API هو الأساس المنشور $0.002 لكل عنصر ناجح، والتحقق الفاشل لا يستهلك الرصيد.
حالات التكامل
تطبيع الأسماء قبل المقارنة
أزل الفواصل حتى تنهار hello-world وhello_world وHelloWorld إلى السلسلة المسطحة نفسها لإزالة التكرار والدمج.
أسئلة تقنية
هل يعالج camelCase وsnake_case وkebab-case؟
نعم. تتحوّل HelloWorld وhello_world وkebab-case-name إلى أشكال صغيرة مستمرة مثل helloworld وkebabcasename. وتظل حدود الكلمات تُحسب في word_count.
هل هو نفسه snake_case أو slug لعنوان URL؟
لا. flatcase بلا فواصل مطلقًا. يستخدم snake_case شرطات سفلية وغالبًا ما تستخدم slug لعناوين URL شرطات؛ استخدم الأدوات المخصصة لتلك النوايا.
كم التكلفة؟
أداة المتصفح مجانية وتعمل محليًا. تستخدم طلبات API رصيد KIT المدفوع مسبقًا بمقدار $0.002 لكل عنصر ناجح؛ ولا تُحاسب الإدخالات غير الصالحة.