تحويل إلى snake_case
Snake_case هو الأسلوب القياسي في كثير من اللغات وعقود البيانات لتسمية المتغيرات والأعمدة وحقول API: كل كلمة بأحرف صغيرة مفصولة بشرطة سفلية واحدة.
شغّل الأداة مجانًا
تعمل هذه الأداة داخل متصفحك — مجانًا، ولا تُرسل بياناتك إلى أي خادم
تأخذ هذه الأداة العبارة أو المعرّف الذي تدخلونه، وتطبّع الفواصل وحدود camelCase، وتخفض كل حرف إلى الصغير بمطابقة واعية لـ Unicode، وتُرجع سلسلة snake_case نظيفة مع عدد الكلمات وبيانات وصفية للتغيير. المسافات والشرطات والنقاط وغيرها من الرموز غير الأبجدية الرقمية تصبح فواصل؛ يتحوّل HelloWorld وhello-world كلاهما إلى hello_world. تُرفض المدخلات الفارغة بخطأ تحقق واضح بدل إرجاع سلسلة فارغة بصمت، مما يحمي العملاء الذين نسوا ربط حقل. يشارك widget المتصفح المجاني وAPI المدفوعة دالة نقية متماثلة الشكل، فلا تختلف العروض والنصوص البرمجية وأعمال الإنتاج على النص نفسه. لا رحلات شبكة داخل المحرك ولا بذور عشوائية ولا اعتماد على الساعة: النص المتطابق ينتج دائمًا JSON متطابقًا.
طريقة الاستخدام
أدخل القيم في النموذج أعلاه. تتحقق الأداة منها قبل الحساب ثم تعرض النتيجة في الصفحة نفسها.
راجع بياناتك
اتبع التسميات والوحدات الموضحة بجانب كل حقل. إذا كانت قيمة مفقودة أو خارج النطاق، توضح الصفحة الحقل الذي يحتاج إلى تصحيح.
أعد الحساب أو نفّذه آليًا
استخدم أداة الويب للفحوص الفردية، واستخدم الواجهة البرمجية عند دمج الإمكانية نفسها في سير عمل آلي.
حالات الاستخدام
احصل على النتيجة الآن
أدخل مجموعة من القيم وشاهد النتيجة من دون إعداد جدول بيانات أو برنامج نصي.
قارن السيناريوهات
غيّر قيمة واحدة في كل مرة وأعد الحساب لمعرفة ما الذي يؤثر في النتيجة.
أتمت العمل المتكرر
استخدم الواجهة البرمجية عندما تحتاج إلى تشغيل الحساب نفسه داخل منتجك أو سير عملك.
الأسئلة الشائعة
ماذا يفعل التحويل إلى snake_case؟
يخفض عبارتكم أو معرّفكم إلى أحرف صغيرة ويصل الكلمات بشرطات سفلية، مع تقسيم camelCase وتطبيع المسافات والشرطات وغيرها من الفواصل إلى سلسلة snake_case واحدة.
ماذا يحدث إذا أرسلت نصًا فارغًا؟
يفشل الطلب بـ invalid_input. تُرفض السلاسل الفارغة والمدخلات التي تحوي فواصل فقط حتى يلاحظ العملاء الحقول الناقصة بدل استلام نتيجة فارغة بصمت.
هل يتعامل مع camelCase وkebab-case؟
نعم. HelloWorld تصبح hello_world وkebab-case-name تصبح kebab_case_name. PascalCase بأسلوب الاختصار مثل XMLHttpRequest تصبح xml_http_request.
هل هو نفسه slug لـ URL؟
لا. يستخدم Snake_case شرطات سفلية بين كلمات صغيرة. تستخدم مسارات URL عادة شرطات وقد تحذف رموزًا أكثر؛ استخدموا أداة slug مخصصة لتلك النية.
كم التكلفة؟
أداة المتصفح مجانية وتعمل محليًا. تستخدم طلبات API رصيد KIT المدفوع مسبقًا بـ $0.002 لكل عنصر ناجح؛ المدخل غير الصالح لا يُحسب.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/str/snake-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/snake-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/snake-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/snake-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/snake-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.snake_case",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |