إزالة التشكيل من النص
أزل علامات النبر واحتفظ بحروف بسيطة: تصبح café naïve São Paulo هي cafe naive Sao Paulo بعد إزالة 3 علامات. وتُحوَّل الحروف الخاصة مثل æ وł أيضًا، بينما تبقى الأرقام والرموز التعبيرية كما هي. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- النص
- café naïve São Paulo
- النتيجة
- cafe naive Sao Paulo
- الطول
- 20
- الطول الأصلي
- 20
- عدد التغييرات
- 3
إزالة التشكيل والعلامات الصوتية الأخرى خطوة نظافة يومية عندما تحتاجون إلى نص ASCII صافٍ للمعرّفات ومفاتيح البحث وأسماء الملفات وتصدير CSV أو أنظمة ما زالت تتعثر عند حالات حدّ UTF-8. تأخذ هذه الأداة النص الذي تدخلونه، وتفكّك رموز Unicode، وتحذف العلامات المجمّعة، وتطبّق جدولًا ثابتًا للنقل الحرفي اللاتيني للحروف التي لا تُختزل بالتسوية وحدها، ثم تُرجع السلسلة بلا تشكيل مع بيانات وصفية للطول والتغيير. تمرّ الأرقام ومعظم علامات الترقيم والرموز التعبيرية والخطوط غير المعينة دون تغيير؛ تُبسَّط فقط التشكيل والأشكال اللاتينية المعينة.
كيف تعمل إزالة التشكيل من الداخل
إزالة التشكيل ليست بحثًا بسيطًا عن حرف؛ إنها خط أنابيب حتمي قصير. أولًا يطبّق المحرك شكل التسوية Unicode D (NFD) الذي يفصل الحروف الأساسية عن علامات التشكيل المجمّعة — فتصبح é هي e مع حدة مجمّعة، وñ هي n مع مدة مجمّعة، وü هي u مع نقطتين مجمّعتين. ثانيًا تُحذف كل علامة مجمّعة في النطاقات الشائعة، فتبقى الحروف الأساسية لمعظم النص اللاتيني في أوروبا الغربية والوسطى والفيتنامي ذي النغمات.
ثالثًا يعيد جدول نقل حرفي ثابت كتابة الحروف التي تبقى بعد NFD دون أن تصبح ASCII: أشكال شمالية وأيسلندية مثل ø وæ وð وþ؛ الـs الحاد الألماني؛ روابط فرنسية ولاتينية œ؛ حروف بولندية وسلافية مشطوبة مثل ł وđ؛ وبعض القواعد المالطية والفيتنامية ذات القرن. يحافظ الجدول على حالة الأحرف حين يوجد الحرفان (Æ تصبح AE وæ تصبح ae). تمرّ الأرقام والمسافات وعلامات الترقيم والرموز التعبيرية والخطوط خارج الخريطة دون تغيير، فلا يُرَوْمن النص السيريلي أو CJK اختراعًا — فتلك نية منتج مختلفة.
تفشل السلاسل الفارغة في التحقق قبل أي تحويل. ولأن المسار parse خالص على السلاسل، تبقى الكمون دون الملي ثانية لأحجام النماذج المعتادة ونموذج التكلفة المنشور تحليلي لا يعتمد على رموز نموذج.
أين تظهر أدوات إزالة التشكيل في العمل الحقيقي
تطوي فرق المنتج والنمو أسماء العرض وحقول المدن إلى مفاتيح ASCII قبل فحوص التفرد حتى لا ينشئ José وJose شبه تكرارات مربكة في أنظمة تقارن بايتًا بايتًا. تزيل أنظمة البحث والوسوم التشكيل من سلاسل الاستعلام وتسميات الأوجه حتى تتطابق المرشحات سواء كُتب resume أو résumé. غالبًا ما يفرض مهندسو البيانات الذين ينظّفون صادرات CRM والجداول و قواعد البيانات القديمة أعمدة النص الحر إلى أشكال بلا تشكيل قبل الربط بمفاتيح ناعمة أو التحميل إلى مستودعات ما زالت تفضّل تطابق ASCII لبعض الفهارس.
تُعدّ فرق المحتوى والتوطين بدائل ASCII لأسماء الملفات ومقاطع مسار URL (عندما لا تستخدمون أداة slug مخصصة) وموضوعات البريد على مرحّلات صعبة وملفات CSV تُفتح في أدوات تفسد UTF-8. إن احتجتم لاحقًا إلى slug URL كامل مع شرطات وصغير الأحرف أو تحويل حالة فقط أو كشف لغة أو رَوْمنة صوتية لخطوط غير لاتينية، عاملوها كنوايا بحث وصفحات هبوط منفصلة بدل إثقال صفحة إزالة التشكيل هذه.
حالات الاستخدام
تطبيع الأسماء والمدن للمطابقة
أزلوا التشكيل من أسماء الأشخاص والأماكن قبل فحوص التفرد لمحاذاة José/Jose وSão Paulo/Sao Paulo على مفاتيح ناعمة.
اتساق البحث والمرشحات
اطووا سلاسل الاستعلام وتسميات الأوجه حتى تتطابق المرشحات سواء كتب المستخدم نصًا مشكّلًا أو ASCII صافٍ.
الأسئلة الشائعة
ماذا تفعل إزالة التشكيل من النص؟
تحذف علامات التشكيل وتعيّن الخاصات اللاتينية الشائعة حتى تصبح الحروف المنبورة ASCII صافٍ (é→e، ñ→n، ü→u، æ→ae، ł→l، …) وتُرجع السلسلة بلا تشكيل مع بيانات وصفية للتغيير.
ماذا يحدث إذا أرسلت نصًا فارغًا؟
تُرفض السلاسل الفارغة حتى يلاحظ العملاء الحقول الناقصة بدل استلام نتيجة فارغة بصمت.
هل تغيّر حالة الأحرف أو تنشئ slug لـ URL؟
لا. تُحفظ حالة الأحرف (Café تصبح Cafe لا cafe). لا تدرج شرطات ولا ترميز نسبة لـ URL؛ استخدموا أداة slug أو تصغير أحرف مخصصة لتلك النوايا.
ماذا يحدث لحروف مثل æ أو ł التي لا تحمل علامة نبر؟
يعيد جدول ثابت كتابتها بحروف لاتينية بسيطة مع الحفاظ على الحرف الكبير والصغير: تصبح Æ هي AE وæ هي ae وŁódź هي Lodz. وبذلك تُغطّى الصيغ الإسكندنافية والألمانية والبولندية.
هل يُحوَّل النص السيريلي أو الصيني إلى حروف لاتينية؟
لا. تبقى الكتابات غير الموجودة في الجدول، مثل السيريلية والصينية واليابانية، كما هي. فالأداة تزيل علامات النبر وتبسّط الحروف اللاتينية الخاصة فقط، ولا تخترع نقلًا صوتيًا.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/str/remove-accents \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"café naïve São Paulo"}'const res = await fetch("https://api.kit.forhosting.com/str/remove-accents", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "café naïve São Paulo"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/remove-accents",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "café naïve São Paulo"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/remove-accents", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"café naïve São Paulo"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"café naïve São Paulo"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/remove-accents", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"text": "café naïve São Paulo"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.remove_accents",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
تُرفض المدخلات الفارغة بخطأ تحقق واضح بدل إرجاع حمولة فارغة بصمت، مما يحمي العملاء الذين نسوا ربط حقل. لا رحلات شبكة داخل المحرك ولا بذور عشوائية ولا اعتماد على الساعة: النص المتطابق ينتج دائمًا JSON متطابقًا.
كيف تعمل إزالة التشكيل من الداخل
يمرّ الخوارزم على السلسلة مرة بعد التسوية، ويبني النتيجة، ثم يحسب changed وchanged_count وaccents_removed حتى تكتشف خطوط الأنابيب عمليات اللاشيء دون إعادة مسح. تفشل الحمولات الطويلة جدًا فوق الحد الموثّق أيضًا بـ invalid_input حتى لا يحتكر طلب واحد ذاكرة Worker.
ما ترسلونه وما تتلقونه
أرسلوا حقلًا إلزاميًا واحدًا باسم text يحتوي السلسلة غير الفارغة التي تريدون إزالة تشكيلها. تُحوَّل الأرقام والقيم المنطقية إلى أشكالها العشرية أو true/false؛ وتُرفض الكائنات والمصفوفات وNaN وInfinity. فحوصات كلاسيكية: café تصبح cafe وnaïve تصبح naive وSão Paulo تصبح Sao Paulo وMüller تصبح Muller وñoño تصبح nono وcrème brûlée تصبح creme brulee وŁódź تصبح Lodz بعد تعيين الشطب. تُقبل أسماء بديلة مثل input وvalue وdata وs وmessage وstring وcontent وbody لراحة ربط العملاء القدامى. عند النجاح تعيد الاستجابة text الأصلي وresult بلا تشكيل وlength للنتيجة وoriginal_length وchanged منطقي وchanged_count للمواضع المختلفة (بما في ذلك توسيعات متعددة الأحرف مثل æ إلى ae) وaccents_removed كعدّ للعلامات المجمّعة المحذوفة زائد حروف المصدر المعينة وoperation بقيمة remove_accents. عندما لم يكن للإدخال تشكيل ولا خاصات لاتينية معينة، يساوي result قيمة text ويكون changed هو false وaccents_removed صفرًا — مفيد ككاشف لا-عملية في حراس ETL. استخدموا نموذج المتصفح المجاني للصق والنسخ السريع ثم استدعوا العقد ذاته من النصوص البرمجية عند تطبيع أعمدة CSV أو مفاتيح البحث أو حمولات API بالجملة. تسعير استدعاءات API الناجحة هو الأساس المنشور $0.002 لكل عنصر؛ وأخطاء التحقق بما فيها النص الفارغ لا تستهلك الرصيد المدفوع مسبقًا.
أين تظهر أدوات إزالة التشكيل في العمل الحقيقي
ولأن هذه القدرة محرك parse خالص، فإن تسعير API هو الأساس المنشور $0.002 لكل عنصر ناجح والتحقق الفاشل لا يستهلك الرصيد.
حالات التكامل
تنظيف أعمدة CSV وحقول API
أزيلوا التشكيل عن الوسوم والعناوين وحقول الربط الناعم في خطوط أنابيب جماعية بنفس شكل نتيجة أداة المتصفح.
أسئلة تقنية
هل يتغيّر نص ASCII الصافي أصلًا؟
لا. إن لم يكن هناك تشكيل ولا خاصات معينة، يساوي result النص الأصلي وchanged هو false وaccents_removed صفر.
كم التكلفة؟
أداة المتصفح مجانية وتعمل محليًا. تستخدم طلبات API رصيد KIT المدفوع مسبقًا بـ $0.002 لكل عنصر ناجح؛ المدخل غير الصالح لا يُحسب.