عد الفقرات
عُدّ فقرات النص بحسب أسطره الفارغة: ثلاث فقرات قصيرة عن alpha وbeta وgamma تعطي مجموعًا قدره 3. أما الأسطر الملتفة فقط، دون سطر فارغ بينها، فتبقى فقرة واحدة. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
يحوّل عداد الفقرات النثر الحر إلى عدد صحيح موثوق للمحررين وخطوط أنابيب CMS وفحوصات الواجبات. الصق أي سلسلة غير فارغة؛ تكتشف الأداة الفواصل بالأسطر الفارغة—سطر واحد أو أكثر فارغ أو بمسافات فقط بين الكتل—وتعيد كم فقرة غير فارغة تبقى بعد استبعاد المناطق البيضاء الخالصة. تبقى فواصل السطر المفردة داخل الكتلة في نفس الفقرة، فلا يضخّم الالتفاف القاسي من البريد أو الدردشة المجموع.
كيف يعمل عد الفقرات عبر الأسطر الفارغة
في النص العادي، الفقرة اصطلاحيًا كتلة محتوى غير فارغة تفصلها عن التالية سطر فارغ واحد على الأقل. يتبع هذا العداد ذلك التعريف اليومي بدل تخمين حدود الجمل أو وسوم HTML. تُفحص المدخلات أولًا: نص مفقود، قيمة غير سلسلة، أو سلسلة فارغة بعد تقليم المسافات تُرفض.
تُطبَّع فواصل السطر بحيث يصبح CRLF لويندوز وCR لماك القديم وLF ليونكس شكل LF واحدًا قبل التقسيم. يبحث المقسّم عن سطر واحد أو أكثر متتالٍ فارغ أو يحوي مسافات أو علامات جدولة فقط؛ تلك المتتاليات هي الفواصل. تُقلَّم كل كتلة متبقية من الحواف البيضاء الخارجية؛ إن بقي غير مسافات فإنها تُحسب فقرة واحدة.
لا تُنشئ الأسطر الفارغة الأولى والأخيرة والمسافات المزدوجة أو الثلاثية بين الكتل فقرات فارغة أبدًا، فمستند يبدأ بسطرين فارغين يبدأ العد من أول كتلة حقيقية. كتلة طويلة بفواصل قاسية فقط (سطر جديد بلا سطر فارغ) فقرة واحدة حتى لو امتدت على أسطر مرئية كثيرة. هذا يطابق كيف تعامل أغلب أدلة الأسلوب ومحررات Markdown النثر عندما يفصل المؤلفون الأفكار بسطر فارغ.
عندما تحتاج أعداد كلمات أو جمل استخدم أدوات مخصصة؛ هذه الصفحة عن مجاميع فقرات السطر الفارغ فقط.
نصائح عملية وحدود ومتى تستخدم هذه الأداة
استخدم هذه القدرة عندما تكون نية البحث عد الفقرات أو عداد الفقرات أو مجموع فقرات السطر الفارغ عبر الإنترنت. الصق مسودة مقال، وحوّل مرة واحدة، واعرض للطلاب أو المحررين مجموع الفقرات بجانب هدف طول. ضع في الحسبان الالتفافات القاسية بمسافة مفردة: الأسطر الموصولة بسطر جديد واحد فقط تبقى فقرة واحدة، وهذا صحيح للنص العادي المعاد تدفقه وخاطئ فقط إن أردت كل سطر مرئي فقرة مستقلة—عندئذ أدرج أسطرًا فارغة أولًا أو استخدم عداد أسطر.
مصدر HTML وMarkdown بالوسوم ما زال يعدّ الأسطر الفارغة في السلسلة الخام؛ أزل العلامات أولًا إن أردت كتل نثر فقط. هذه الصفحة ليست عداد جمل ولا أداة عد كلمات ولا قدرة صفحات PDF أو إحصاءات Word ولا مقسّم موضوعات NLP يخترع فواصل بلا أسطر فارغة. فضّل عداد كلمات أو أحرف عندما تحتاج تلك المقاييس؛ وفضّل هذه القدرة عندما فصل البشر الأفكار بأسطر فارغة وتحتاج المجموع فقط.
عند تعليم بنية الكتابة، قارن النص نفسه مع أسطر فارغة وبدونها ليرى المتعلمون كيف يعرّف التباعد حدود الفقرة في النص العادي.
حالات الاستخدام
فحوصات طول المقالات والواجبات
يلصق الطلاب نثر المسودة؛ يؤكد المعلمون أو سكربتات LMS مجموع الفقرات مقابل قواعد الواجب قبل التسليم.
اختبارات وحدات لمعالجات النص
ولّد تجهيزات متعددة الفقرات معروفة ورفض مدخلات فارغة للمحررين ومحللات البريد وخطوط markdown.
الأسئلة الشائعة
كيف تقرر الأداة أين تنتهي الفقرة؟
تقسم على فواصل الأسطر الفارغة: سطر واحد أو أكثر متتالٍ فارغ أو بمسافات فقط بعد تطبيع الفواصل. تبقى فواصل السطر المفردة داخل الكتلة في نفس الفقرة.
هل تنشئ عدة أسطر فارغة فقرات فارغة؟
لا. تُتجاهل الأسطر الفارغة الأولى والأخيرة والمتكررة عند العد؛ فقط كتل المحتوى غير الفارغة تزيد المجموع.
هل تُحسب الفقرة ذات فواصل الأسطر اليدوية عدة فقرات؟
لا. فاصل الأسطر المفرد داخل الكتلة يبقيها فقرة واحدة، فلا يتضخم المجموع بسبب نص قسّمه البريد أو تطبيق المحادثة. ولا تبدأ فقرة جديدة إلا بسطر فارغ.
هل يُعدّ السطر المكوّن من مسافات فقط سطرًا فارغًا؟
نعم. السطر الذي لا يحتوي إلا على مسافات أو علامات جدولة يعمل فاصلًا مثل السطر الفارغ تمامًا، فلا تدمج المسافات الخفية في المسودة فقرتين معًا.
هل تعدّ الأداة فقرات HTML أو Markdown؟
تعتمد الأداة على الأسطر الفارغة في النص الخام، ولا تُستخدم الوسوم لتحديد الفقرات. وإذا أردت عدّ فقرات النثر وحده، فأزل الوسوم والرموز أولًا ثم الصق النص.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/str/paragraph-count \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"First paragraph.\n\nSecond paragraph."}'const res = await fetch("https://api.kit.forhosting.com/str/paragraph-count", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "First paragraph.\n\nSecond paragraph."
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/paragraph-count",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "First paragraph.\n\nSecond paragraph."
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/paragraph-count", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"First paragraph.\\n\\nSecond paragraph."}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"First paragraph.\n\nSecond paragraph."}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/paragraph-count", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"text": "First paragraph.\n\nSecond paragraph."
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.paragraph_count",
"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 | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
تُرفض المدخلات الفارغة أو ذات المسافات فقط بخطأ واضح invalid_input حتى لا تعامل الأتمتة لصقًا فارغًا كنجاح بصفر. يحتاج الكتّاب والمعلمون وسكربتات ضمان الجودة وواجهات محتوى API إلى نفس قاعدة السطر الفارغ الحتمية دون فتح معالج نصوص كامل. المسار منطق سلاسل خالص—بلا شبكة ولا بذور عشوائية ولا ساعة حائط—فيعيد منفّذ المتصفح المجاني وواجهة API المدفوعة مسبقًا نفس JSON في كل استدعاء.
كيف تستدعي API وماذا تحتوي الاستجابة
فضّل إرسال جسم المستند الخام بدل طي فواصل السطر مسبقًا إن أردت دلالات السطر الفارغ الحقيقية؛ طيّ كل شيء إلى سطر واحد يفرض فقرة واحدة. خطوط الأنابيب التي تعالج مقالات أو ملاحظات إصدار أو رسائل متعددة الكتل يمكنها التفرع حسب count قبل تحليل لاحق. أرسل جسم JSON بحقل السلسلة الإلزامي text (أسماء بديلة input وvalue وstring وs وcontent وbody). يجب أن تكون القيمة سلسلة غير فارغة بعد تقليم المسافات وألا تتجاوز مئة ألف حرف حتى لا يستنفد طلب واحد ذاكرة Worker أو المتصفح بلصق ضخم. عند النجاح تعيد الاستجابة input كالسلسلة الأصلية المرسلة، وtext كسلسلة العمل المقلَّمة، وparagraph_count وcount كنفس المجموع الصحيح، وparagraphs كمصفوفة مرتبة للكتل غير الفارغة بعد التقسيم بالأسطر الفارغة، وmessage كملخص قصير يبيّن كم فقرة عُدّت. فشل التحقق—نص مفقود، قيمة غير سلسلة، حمولة زائدة، أو محتوى فارغ بعد التقليم—يعيد invalid_input ولا يُحصَّل أبدًا. التسعير ثابت $0.002 لكل طلب ناجح بوحدة item وسعر وحدة هامشي صفر. عند الدمج، أكّد على paragraph_count للمجموع، وقارن اختياريًا طول paragraphs بذلك المجموع، وعامل invalid_input كخطأ عميل في إرسال نماذج فارغة لا كحدث فوترة.
نصائح عملية وحدود ومتى تستخدم هذه الأداة
فحوصات الذهاب والإياب للاختبارات سهلة: غذِّ سطرين قصيرين يفصل بينهما سطر فارغ وتوقّع paragraph_count اثنين مع مدخلين في المصفوفة؛ كتلة غير مقطوعة وتوقّع واحدًا؛ أرسل عمدًا سلسلة فارغة أو مسافات لتأكيد invalid_input والرسالة التي تطلب سلسلة غير فارغة. المهام الفاشلة التي تعيد invalid_input لا تستهلك الرصيد المدفوع مسبقًا، فيبقى التحقق من النماذج واختبارات CI السلبية رخيصة.
حالات التكامل
خطوط أنابيب CMS وملاحظات الإصدار
طبّع ملاحظات إصدار أو مسودات مدونة متعددة الكتل وأكد paragraph_count قبل نشر أو ترجمة كل كتلة.
أسئلة تقنية
ماذا يحدث عند مدخل فارغ؟
النص المفقود والقيم غير السلاسل والسلاسل الفارغة بعد التقليم تعيد invalid_input ولا تُحصَّل أبدًا.
هل يعدّ الكلمات أو الجمل؟
لا. يعيد فقط paragraph_count (وcount) ومصفوفة paragraphs ورسالة قصيرة. استخدم أدوات أخرى للكلمات أو الجمل.
هل عداد الفقرات مجاني؟
أداة المتصفح مجانية وتعمل محليًا. تستدعي API رصيد KIT المدفوع مسبقًا بمبلغ $0.002 لكل طلب ناجح؛ المهام الفاشلة لا تُحصَّل أبدًا.