لف النص حسب عرض السطر وتنسيق الفقرات
بعرض 32 تتوزع ملاحظة طويلة من فقرتين على 8 أسطر لا يزيد أي منها على 32 محرفًا، ويبقى السطر الفارغ بين الفقرتين. أما الكلمة الأطول من العرض فتبقى كاملة في سطر مستقل. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- العرض
- 32
- عدد الأسطر
- 8
- عدد الفقرات
- 2
يحوّل لفّ النص الكتابة الطويلة وغير المنتظمة إلى أسطر مقروءة تلائم عرض الأعمدة الذي تختارونه. أرسلوا نصاً مجرداً وقيمة صحيحة للعرض، فتعيد الأداة توزيع كل فقرة من دون شطر الكلمات. وتظل الأسطر الفارغة فواصل بين الفقرات، لذلك يحتفظ البريد أو المستند ببنيته. والنتيجة حتمية وجاهزة للصق في مخرجات الطرفية وتعليقات الشفرة والتوثيق وأنظمة متابعة المهام والرسائل التي تتطلب أطوالاً متوقعة للأسطر.
آلية لف النص وفق عرض الأعمدة
يعالج لف النص مشكلة في التنسيق من دون إعادة صياغة المحتوى. تقرأ الأداة كلمات كل فقرة من اليسار إلى اليمين، ثم تضيف الكلمة التالية إلى السطر الحالي إذا كان السطر الموجود والمسافة الفاصلة والكلمة الجديدة تلائم معاً قيمة width. وإذا لم تلائمها، تبدأ سطراً جديداً قبل تلك الكلمة.
لذلك لا تتجاوز الأسطر العادية العرض المطلوب، ولا تُشطر أي كلمة في منتصفها. أما الكلمة التي يتجاوز طولها الحد بمفردها فهي استثناء مقصود؛ تبقى كاملة في سطر مستقل، لأن تقسيم معرّف أو URL أو اسم ملف أو مصطلح تقني قد يغيّر معناه أو يمنع نسخه بصورة صحيحة. تتحول المسافات المتكررة وعلامات الجدولة وفواصل الأسطر المفردة داخل الفقرة إلى فواصل عادية بين الكلمات.
وتبقى الأسطر الفارغة حدوداً بين الفقرات، مع سطر فارغ واحد في الناتج. وهكذا يمكنكم تنسيق نص خام أو إعادة توزيع نص سبق لفّه بعرض غير مناسب. لا تضيف الأداة شرطات وصل، ولا تضبط الهامشين، ولا تفسر Markdown، ولا تعيد كتابة الجمل.
إنها تغيّر مواضع فواصل الأسطر فقط، فتقدم نتيجة ثابتة يسهل فحصها وإعادة إنتاجها.
اختيار العرض المناسب وقراءة النتيجة
اختاروا width بحسب وجهة النص لا بحسب حجم المصدر. تستفيد سجلات الطرفية ورسائل البريد التقليدية غالباً من أسطر متوسطة القصر، بينما تحتاج تعليقات الشفرة إلى مساحة للمسافة البادئة وعلامات التعليق التي ستضاف لاحقاً. إذا كان التنسيق المحيط يستهلك حروفاً، فاطرحوا طول البادئة من عدد الأعمدة المتاح قبل اللف.
فبادئة تعليق طولها أربعة حروف، مثلاً، تستلزم عرضاً للنص يقل أربعة أعمدة عن الهدف المرئي النهائي. النص المصدر الفارغ صالح ويعيد صفراً للأسطر والفقرات. وتُوحّد فواصل الأسطر إلى LF لكي تتطابق النتائج في Windows وmacOS وLinux والمتصفح والتنفيذ البعيد.
تقيس width حروف سلسلة JavaScript لا وحدات البكسل المعروضة، ولذلك تلائم الأداة النص المجرد والخطوط ثابتة العرض، لا التخطيط الرسومي الدقيق بخطوط متناسبة.
استخدام موثوق في البريد والتعليقات والأتمتة
في رسائل البريد، طبّقوا اللف بعد انتهاء الكتابة والمراجعة، لأن إدخال كلمات في نص ملفوف مسبقاً قد يترك أسطراً قصيرة وغير منتظمة. حافظوا على انتقالات الفقرات المقصودة بأسطر فارغة، ثم أرسلوا المتن كاملاً في طلب واحد. وفي تعليقات الشفرة، لفّوا النثر أولاً ثم أضيفوا بادئات اللغة، أو خفّضوا width بمقدار طول البادئة.
وفي الطرفية، احسبوا الطوابع الزمنية ومستويات السجل والمسافات البادئة وزخارف ANSI التي تضاف خارج الأداة. أما في العمليات الآلية، فاحفظوا width إعداداً للمشروع بدلاً من نشر قيم مختلفة في النصوص البرمجية؛ وبذلك تصبح تغييرات التنسيق قابلة للمراجعة وتظل الملفات المولدة متسقة. اختبروا الرموز التقنية الطويلة صراحة، فالخوارزمية لا تقسم الكلمات، وقد يتجاوز URL أو المعرّف الحد.
وإذا احتجتم إلى سقف صارم، فادمجوا اللف مع سياسة مستقلة لتقسيم الرموز. لا تجري الأداة اتصالات شبكية ولا تحلل معنى النص. المدخلات المتطابقة تعطي دائماً text والعدادات نفسها.
حالات الاستخدام
إعداد بريد بنص مجرد
أعيدوا توزيع الفقرات الطويلة بعرض موحد مع إبقاء الأسطر الفارغة بين الموضوعات.
تنسيق تعليقات الشفرة
أنشئوا أسطر نثر متوقعة قبل إضافة علامات التعليق والمسافات البادئة في مسار التوثيق.
الحفاظ على وضوح الطرفية
لفّوا نصوص المساعدة وملاحظات الإصدار وأوصاف وحدة التحكم ضمن ميزانية الأعمدة المختارة.
الأسئلة الشائعة
هل تقسم الأداة الكلمات الطويلة؟
لا. تحدث فواصل الأسطر بين الكلمات فقط. تبقى الكلمة الأطول من width كاملة في سطرها، ولذلك قد يتجاوز ذلك السطر العرض.
ماذا يحدث لفواصل الأسطر الموجودة؟
يتحول الفاصل المفرد داخل الفقرة إلى مسافة. ويفصل سطر فارغ واحد أو أكثر بين الفقرات، ويظهر سطر فارغ واحد في الناتج.
هل تقيس width وحدات البكسل أم الحروف؟
تقيس حروف سلسلة JavaScript لا وحدات البكسل. وهي مناسبة للنص المجرد وبيئات العرض ثابتة العرض.
ما العرض الذي ينبغي اختياره؟
اختره بحسب المكان الذي سيُلصق فيه النص لا بحسب النص الأصلي. وإذا كانت الأسطر ستحمل بادئة، مثل أربعة محارف لعلامة تعليق، فاطرحها أولًا لتبقى الأسطر النهائية ضمن العرض.
هل تضيف الأداة واصلات أو تضبط النص؟
لا. لا يتغير إلا موضع انكسار كل سطر، فلا واصلات ولا مسافات ممدودة ولا إعادة صياغة، وتبقى الكلمات وترتيبها كما كتبتها تمامًا.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/str/word-wrap \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Word wrapping keeps paragraphs readable in email, source comments, and terminal output without splitting ordinary words.","width":32}'const res = await fetch("https://api.kit.forhosting.com/str/word-wrap", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Word wrapping keeps paragraphs readable in email, source comments, and terminal output without splitting ordinary words.",
"width": 32
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/word-wrap",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Word wrapping keeps paragraphs readable in email, source comments, and terminal output without splitting ordinary words.",
"width": 32
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/word-wrap", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Word wrapping keeps paragraphs readable in email, source comments, and terminal output without splitting ordinary words.","width":32}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Word wrapping keeps paragraphs readable in email, source comments, and terminal output without splitting ordinary words.","width":32}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/word-wrap", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"text": "Word wrapping keeps paragraphs readable in email, source comments, and terminal output without splitting ordinary words.",
"width": 32
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.word_wrap",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_chars | 200000 |
max_width | 10000 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
اختيار العرض المناسب وقراءة النتيجة
يقبل الطلب عدداً صحيحاً من واحد إلى عشرة آلاف؛ وتؤدي القيمة المفقودة أو الكسرية أو الصفرية أو السالبة أو المفرطة إلى invalid_input. تتضمن الاستجابة text بوصفه القيمة الأساسية القابلة للنسخ، وwidth بوصفه القيد المطبق، وline_count شاملاً أسطر الفصل الفارغة، وparagraph_count للفقرات غير الفارغة.
استخدام موثوق في البريد والتعليقات والأتمتة
تبلغ كلفة كل عنصر ناجح عبر API مقدار $0.002، بينما تعمل نسخة المتصفح محلياً ومجاناً للاستخدام التفاعلي.
أسئلة تقنية
هل يمكن لف نص فارغ؟
نعم. إذا كانت width صالحة، يكون الناتج فارغاً وتساوي كل من line_count وparagraph_count صفراً.
ما تكلفة استدعاء API؟
تكلف كل استجابة ناجحة $0.002 لكل عنصر. تعمل أداة المتصفح محلياً، وهي مجانية للاستخدام التفاعلي.