محول kebab-case
تصبح Hello World Example الصيغة hello-world-example، وتصبح getUserId الصيغة get-user-id. تتحول المسافات والشرطات السفلية وعلامات الترقيم إلى شرطة واحدة، فلا تظهر شرطتان متتاليتان أبدًا. مجانية في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- النص
- Hello World Example
- النتيجة
- hello-world-example
- المُدخل
- Hello World Example
- صيغة كباب
- hello-world-example
- حالة كباب
- hello-world-example
يحتاج مطورو الواجهة الأمامية ومسؤولون أنظمة التصميم ونصوص توليد الشيفرة والاختبارات الوحدوية نفس التعيين من لصق مختلط إلى رمز kebab-case يمكن التنبؤ به.
معنى kebab-case وكيف تُقسَّم الكلمات
kebab-case هو أسلوب التسمية الذي يكتب المعرّفات متعددة الكلمات بأحرف صغيرة كلها مع شرطة واحدة بين كل كلمة: hello-world وuser-profile-settings وconvert-to-kebab-case. وهو الشكل المعتاد لأسماء فئات CSS والعديد من سمات HTML المخصصة وأسماء الحزم بأسلوب npm ومقاطع مسار URL المقروءة عندما تفضّل الشرطات على الشرطات السفلية. يبني هذا المحول ذلك الشكل من نص حر.
تُقسَّم المدخلات المتبقية إلى رموز: تعمل سلاسل المسافات والشرطات السفلية والشرطات وغيرها من غير الحروف والأرقام كفواصل؛ وتُدخل حدود camelCase وPascalCase قطعًا إضافيًا بحيث يصبح getUserId إلى get وuser وid لا رمزًا معتمًا واحدًا. تُحوَّل كل رمز إلى أحرف صغيرة وتُحذف المقاطع الفارغة ثم تُربط الرموز بشرطة واحدة حتى لا تنتج الفواصل المتكررة شرطات مزدوجة. تفشل علامات الترقيم الخالصة بلا حروف أو أرقام أيضًا في التحقق لأنه لن يبقى ما يُربط.
نصائح عملية وحدود ومتى تستخدم هذه الأداة
استخدم هذه القدرة عندما تكون نية البحث التحويل إلى kebab-case أو عمل hyphen-case أو تحويل عبارة إلى كلمات صغيرة مربوطة بشرطات. ضع في الحسبان المعرّفات غير ASCII المقصودة: تبقى فقط حروف وأرقام ASCII داخل الرموز، فالأحرف خارج ذلك المجموعة تعمل كفواصل لا تُنقل حرفيًا—إن احتجت slug Unicode كاملًا مع إزالة التشكيل ففضّل أداة slug مخصصة لـ URL. هذه الصفحة ليست محول title-case يكبّر كلمات رئيسية للعناوين ولا منسّق sentence-case ولا خدمة SEO كاملة لـ slug بجداول نقل حسب اللغة.
فضّل أداة title-case عندما يقرأ البشر السلسلة كعنوان؛ وفضّل هذه القدرة عندما تعامل الآلات السلسلة كمعرّف بشرطات.
حالات الاستخدام
أسماء فئات CSS ورموز التصميم
حوّل تسميات المكوّنات أو الرموز إلى أسماء فئات kebab-case مستقرة قبل توليد أوراق الأنماط أو وثائق نظام التصميم.
معرّفات المسارات وسمات data
وحّد عناوين المنتجات أو الصفحات ذات الحالة المختلطة إلى مقاطع مسار بشرطات وقيم data-testid.
الأسئلة الشائعة
ما هو kebab-case؟
يكتب kebab-case المعرّفات متعددة الكلمات بأحرف صغيرة مع شرطة واحدة بين الكلمات، مثل hello-world أو user-profile-settings.
كيف تُقسَّم الكلمات؟
تفصل المسافات والشرطات السفلية والشرطات وغيرها من السلاسل غير الأبجدية الرقمية الكلمات. تُدخل حدود camelCase وPascalCase أيضًا قطعًا قبل التصغير والربط.
ماذا يحدث عند إدخال فارغ؟
الإدخال بلا حروف أو أرقام بعد التقسيم يفشل أيضًا في التحقق.
هل هذا مثل مولّد slug لـ URL؟
مرتبط لكن غير مطابق. تركّز هذه الأداة على رموز صغيرة بشرطات من عبارة. قد تزيل أدوات slug المخصصة التشكيل أو تطبق قواعد نقل حسب اللغة.
هل تبقى الحروف المشكولة أو غير اللاتينية؟
لا، لا يبقى داخل الكلمات إلا الحروف اللاتينية الأساسية والأرقام، وتُعامل بقية الحروف فواصل دون تحويلها إلى حروف أخرى. وإذا احتجت إلى رابط بحروف منقولة فاستخدم أداة مخصصة لإنشاء الروابط.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/str/kebab-case \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello World Example"}'const res = await fetch("https://api.kit.forhosting.com/str/kebab-case", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello World Example"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/kebab-case",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello World Example"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/kebab-case", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello World Example"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello World Example"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/kebab-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 Example"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.kebab_case",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_chars | 100000 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
يحوّل محول kebab-case عبارة عادية إلى معرّف بأحرف صغيرة مفصول بشرطات، وهو الشكل الذي تتوقعه فئات CSS وسمات data في HTML وأسماء الحزم والعديد من مقاطع مسار API. أدخل أي سلسلة غير فارغة—عناوين أو معرّفات camelCase أو حقول snake_case أو تسميات متعددة الكلمات—وتعيد الأداة نتيجة kebab-case حتمية بكلمات صغيرة مفصولة بشرطات مفردة. تُرفض المدخلات الفارغة أو المسافات فقط بخطأ واضح invalid_input حتى لا تعامل المسارات سلسلة فارغة كتحويل ناجح. المسار منطق سلسلة خالص—بلا شبكة ولا بذور عشوائية ولا اعتماد على الساعة—لذلك يعيد المشغّل المجاني في المتصفح وواجهة API المدفوعة مسبقًا نفس JSON في كل استدعاء.
معنى kebab-case وكيف تُقسَّم الكلمات
تُقصّ المسافات البادئة واللاحقة أولًا؛ إن لم يبقَ شيء تفشل الدعوة بـ invalid_input بدل إرجاع سلسلة نجاح فارغة.
كيف تستدعي API وما تحتويه الاستجابة
يُفضَّل إرسال العبارة الخام بدل وضع الشرطات يدويًا مسبقًا عندما تريد مجموعة القواعد الثابتة؛ يطوي المحول الفواصل وأساليب الحالة المختلطة إلى شكل موحّد. أرسل جسم JSON بحقل سلسلة مطلوب text (أسماء بديلة input وvalue وstring وs وphrase). يجب أن تكون القيمة سلسلة غير فارغة بعد قص المسافات وألا تتجاوز مئة ألف حرف حتى لا تستنزف طلب واحد ذاكرة Worker أو المتصفح بلصقات ضخمة. عند النجاح تعيد الاستجابة input كالسلسلة الأصلية المرسلة وtext كسلسلة العمل المقصوصة وresult كمخرج kebab-case وkebab وkebab_case نفس السلسلة بأسماء بديلة للعملاء الذين يفضّلون تلك المفاتيح وword_count كعدد الرموز بعد التقسيم والتصفية وmessage كملخص قصير يبلغ بعدد الكلمات المحوّلة. فشل التحقق—غياب text أو قيمة غير سلسلة أو حمولة زائدة أو محتوى فارغ بعد القص أو إدخال بلا أحرف أبجدية رقمية—يعيد invalid_input ولا يُحاسب أبدًا. التسعير مبلغ ثابت $0.002 لكل طلب ناجح بوحدة item وسعر هامشي صفري. عند الدمج أكّد على result أو kebab_case وتحقق من word_count لتجهيزات متعددة الكلمات وعامل invalid_input كخطأ عميل لإرسالات النماذج الفارغة لا كحدث فوترة.
نصائح عملية وحدود ومتى تستخدم هذه الأداة
الصق اسم مكوّن أو عنوانًا أو حقل snake_case قديمًا، حوّل مرة واحدة، وضع النتيجة في فئة وحدة CSS أو سمة data-testid أو مقطع مسار. فحوصات الذهاب والإياب للاختبارات سهلة: أرسل Hello World Example وتوقّع hello-world-example مع word_count ثلاثة؛ أرسل getUserId وتوقّع get-user-id؛ أرسل عمدًا سلسلة فارغة أو مسافات لتأكيد invalid_input والرسالة التي تطلب سلسلة غير فارغة. المهام الفاشلة التي تعيد invalid_input لا تستهلك الرصيد المدفوع مسبقًا، مما يبقي تحقق النماذج واختبارات CI السلبية رخيصة. عند تعليم اصطلاحات التسمية قارن نفس العبارة كـ camelCase وsnake_case وkebab-case ليرى الطلاب لماذا تعتمد منظومات الواجهة الأمامية وCSS الشرطات بدل الأحرف الكبيرة أو الشرطات السفلية.
حالات التكامل
اختبارات وحدوية لمنسّقات السلاسل
ولّد تجهيزات kebab-case مرجعية وأكد أن الإدخال الفارغ يرفع invalid_input في CI.
أسئلة تقنية
هل محول kebab-case مجاني؟
أداة المتصفح مجانية وتعمل محليًا. تستدعي استدعاءات API رصيد KIT المدفوع مسبقًا بمبلغ $0.002 لكل طلب ناجح؛ المهام الفاشلة لا تُحاسب أبدًا.