اذهب إلى المحتوى

السؤال

نشر

السلام عليكم

كيف التعامل مع المشكلة في الدالة <p>{!! Str::limit($project->discription, 200) !!}</p> مع النصوص المعدلة والتي تحتوي على تاقات HTML 

مثل هذه:

<p>المركز الإعلامي</p><p>بهمة عالية و نشاط .. إستأنف العمل في 
<strong>مشروع تعزيز الصمود في قطاع الزراعة والري</strong> 
  بمدينة شبام بعد فترة الأنقطاع ، يستمر عمل المشروع بتمويل من 
  <strong>بنك التنمية الألماني KFW</strong> ، عبر 
  <strong>منظمة الأغذية والزراعة العالمية "FAO"</strong> 
  ، والشريك المنفذ المحلي <strong>أئتلاف الخير للإغاثة الإنسانية</strong>.
</p><p>يواصل المشروع هدفه الرائد في خلق فرص عمل للأيدي العاملة ، بعد <strong>

حيث يؤدي قص النص الى أن تاقات HTML لم تغلق فيسبب مشكلة في التصميم.
مع خالص تحياتي :)

Recommended Posts

  • 0
نشر

هذه الدالة تقوم بقص النص إلى طول معين، ولكن لا تأخذ بعين الاعتبار إغلاق تاقات HTML المفتوحة، مما يؤدي إلى عدم إغلاق التاقات بشكل صحيح وقد يتسبب في مشاكل في التصميم، يمكنك استخدام مكتبة أو دالة تقوم بقص النصوص مع مراعاة تاقات HTML مثل حزمة voku/portable-utf8 التي توفر الدالة Html::cut() المخصصة لهذا الغرض.

حيث يجب عليك تثبيت حزمة voku/portable-utf8 باستخدام Composer:

composer require voku/portable-utf8

بعد تثبيت الحزمة، يمكنك استخدام دالة Html::cut لقص النصوص مع الحفاظ على التاقات المفتوحة والمغلقة بشكل صحيح.

use voku\helper\HtmlDomParser;
use voku\helper\Html;

$htmlContent = $project->discription;
$limitedContent = Html::cut($htmlContent, 200);

echo $limitedContent;

بهذه الطريقة سيتم قص النص مع الحفاظ على التاقات مغلقة بشكل صحيح، مما يمنع حدوث مشاكل في التصميم.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...