إضافة خط يتوسط النص
اكتب «Hello, World!» لتحصل على H̶e̶l̶l̶o̶,̶ ̶W̶o̶r̶l̶d̶!̶ مشطوبًا حرفًا حرفًا وجاهزًا للصق في واتساب أو ديسكورد أو السيرة الذاتية على إنستغرام أو عنوان رسالة بريد إلكتروني. الخط جزء من النص نفسه، فلا تحتاج إلى نوع خط خاص. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- النص
- Hello, World!
- الإنتاج
- H̶e̶l̶l̶o̶,̶ ̶W̶o̶r̶l̶d̶!̶
- الطول
- 13
النص المشطوب هو نص عادي ذو حيلة خفية: فبعد كل حرف مرئي يقع المحرف U+0336، وهو علامة الخط الطويل المتراكب المركَّبة في Unicode، بحيث تظهر الحروف ويتخللها خط أفقي في أي مكان يدعم Unicode — في الدردشات ومنشورات التواصل الاجتماعي والسير الذاتية والمستندات. تُدرج هذه الأداة ذلك المحرف المركَّب بعد كل حرف من النص الذي تقدمه، بما في ذلك المسافات وعلامات الترقيم، وتُعيد النتيجة جاهزة للنسخ واللصق. وتعمل مع أي نص Unicode، من ASCII البسيط إلى الحروف المشكولة ومحارف CJK والرموز التعبيرية، لأن الخط يُطبَّق على كل نقطة ترميز دون المساس بالمحارف نفسها. التحويل حتمي تمامًا وقابل للعكس: يكفي حذف كل محرف U+0336. ولا تحتاج إلى أي خط طباعي أو ترميز أو دعم خاص من المنصة: فالناتج نص عادي يحمل شطبه معه أينما ذهب.
كيف يعمل الشطب المركَّب
يُعرِّف Unicode عائلة من المحارف المركَّبة التي تلتصق بالمحرف السابق بدلًا من أن توجد مستقلة. وU+0336، علامة الخط الطويل المتراكب المركَّبة، أحدها: فعندما يصادفه العارض، يرسم خطًّا أفقيًّا فوق المحرف الأساسي الذي يسبقه. وبإضافة U+0336 بعد كل محرف من مدخلاتك، تُنتج هذه الأداة سلسلة يظهر فيها كل رسم مرئي مشطوبًا.
والنتيجة ليست صورة ولا HTML ولا Markdown — بل تظل نصًّا عاديًّا، لذا يصمد أمام النسخ واللصق في WhatsApp وTelegram وX والسير الذاتية في Instagram وDiscord وعناوين البريد الإلكتروني وأي حقل يقبل Unicode تقريبًا. ولأن الخط نقطة ترميز مستقلة، تظل قارئات الشاشة ومحركات البحث ترى المحارف الأصلية، فيبقى النص قابلًا للعثور عليه ومتاحًا حتى وهو يبدو مشطوبًا. ولاحظ أن العرض المرئي قد يختلف قليلًا بين الخطوط الطباعية والمنصات، إذ يقرر كل عارض مقدار امتداد الخط، لكن السلسلة الأساسية متطابقة في كل مكان.
ما المحارف التي يصيبها الخط
يحصل كل محرف على الخط المتراكب، بما في ذلك المسافات والأرقام وعلامات الترقيم وفواصل الأسطر. وشطب المسافات أيضًا أمر مقصود: فهو يحافظ على استمرارية الخط بصريًّا بين الكلمات، وهو ما يتوقعه معظم الناس عند لصق نص مشطوب في دردشة. وتمر الأداة على نقاط ترميز Unicode بدلًا من وحدات UTF-16، فلا تتجزأ أبدًا المحارف الواقعة خارج المستوى متعدد اللغات الأساسي — كالرموز التعبيرية مثل الوجه المبتسم أو الأيديوغرامات النادرة من CJK — ويحصل كل منها على خط واحد خاص به بالضبط.
أما الحروف المشكولة مثل الحرف e ذي العلامة الحادة، فتحتفظ بعلامتها وتكتسب الشطب، لأن العلامات المركَّبة تتراكم بالترتيب. وتُبلِغ الاستجابة أيضًا عن عدد محارف الإدخال، لتتحقق بنظرة واحدة من أن شيئًا لم يُفقد وأن النص المُرسل هو النص المشطوب.
حالات الاستخدام
التعديلات والتصحيحات في الدردشات
اعرض سعرًا مصححًا أو كلمة متراجعًا عنها في تطبيقات مراسلة لا توفر تنسيق الشطب أصليًّا.
منشورات التواصل الاجتماعي والسير الذاتية
اشطب شعارات قديمة أو أضف هوامش ساخرة في السير الذاتية والتعليقات على منصات لا تقبل سوى النص العادي.
مقارنات قبل وبعد
اشطب القيمة القديمة بجوار الجديدة في سجلات التغيير وجداول الأسعار وملاحظات الإصدار الملصوقة كنص عادي.
الأسئلة الشائعة
ما الذي يُدرَج بالضبط بعد كل محرف؟
المحرف U+0336، علامة الخط الطويل المتراكب المركَّبة في Unicode. ويظهر كخط أفقي يتخلل المحرف السابق.
هل يعمل مع أي نص بما في ذلك الرموز التعبيرية والعلامات؟
نعم. تمر الأداة على نقاط ترميز Unicode، فيحصل كل من الرموز التعبيرية ومحارف CJK والحروف المشكولة على خطه الخاص دون تجزئة أو تغيير.
هل يمكن التراجع عن الشطب؟
نعم. احذف كل نقطة ترميز U+0336 من الناتج فتستعيد النص الأصلي، لأن المحارف الأساسية لا تُعدَّل أبدًا.
لماذا تُشطب المسافات أيضًا؟
هذا مقصود: شطب المسافات يبقي الخط متصلًا من كلمة إلى أخرى، وهو ما يتوقعه أغلب الناس عند لصق نص مشطوب في دردشة. وتحصل الأرقام وعلامات الترقيم وفواصل الأسطر على الخط أيضًا.
أين يمكنني لصق النص المشطوب؟
في أي مكان تقريبًا يقبل نصوص Unicode: واتساب وتيليغرام والسير الذاتية على إنستغرام وديسكورد وعناوين رسائل البريد والمستندات. إنه نص عادي وليس صورة أو تنسيقًا، لذلك يبقى الخط بعد النسخ واللصق. وقد يختلف عرضه قليلًا حسب نوع الخط.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/text/strikethrough \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello, World!"}'const res = await fetch("https://api.kit.forhosting.com/text/strikethrough", {
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/text/strikethrough",
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/text/strikethrough", 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/text/strikethrough", 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": "text.strikethrough",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_text_chars | 100000 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
ما المحارف التي يصيبها الخط
والإدخال محدود بـ 100000 محرف؛ وأي نص أطول يُعيد خطأً مُنوَّعًا invalid_input، وكذلك النص المفقود أو الفارغ، بحيث تعتمد التكاملات على عقد فشل مستقر بدلًا من اقتطاع صامت.
الحتمية والحدود والأداة المجانية في المتصفح
التحويل دالة صِرفة: المدخل نفسه يعطي الناتج نفسه بايتًا بايت، دون أي اتصالات شبكية أو عشوائية أو ساعة. وإذا احتجت لاحقًا إلى التراجع عن شطب، فاحذف كل نقطة ترميز U+0336 من السلسلة فيعود النص الأصلي سليمًا، لأن الخوارزمية لا تغيّر المحارف الأساسية أبدًا — بل تُضيف فقط. وتتقاضى API مبلغ $0.002 عن كل استدعاء مهما كان طول النص ضمن الحد. وتُبلَّغ الأخطاء بوصفها استجابات مُنوَّعة invalid_input ذات مقاطع رسائل مستقرة، لا بوصفها أعطالًا غامضة من الخادم.
أسئلة تقنية
ماذا يحدث إذا كان النص فارغًا؟
يفشل الاستدعاء بخطأ مُنوَّع invalid_input — فالنص مطلوب ولا يجوز أن يكون فارغًا.
هل يوجد حد للطول؟
نعم، 100000 محرف لكل استدعاء. وتُرفض المدخلات الأطول بخطأ invalid_input بدلًا من اقتطاعها.