قمت بعمل هذه الدالة ولله الحمد لقطع النصوص الطويلة مع مراعاة المسافات, كما قال الاخ انترنت بلس
كود PHP:
function SmartCut($string, $length)
{
$check = ($string{$length} == ' ') ? 0 : 1;
$cut_symbol = "...";
switch ($check)
{
case 0:
$after_cut = substr($string, 0, $length).$cut_symbol;
break;
case 1:
if ( strlen($string) < $length )
$after_cut = $string;
else
{
for ($i=$length+1; $i<=strlen($string); $i++)
{
if ( $string{$i} == ' ' )
{
$after_cut = substr($string, 0, $i).$cut_symbol;
$done = TRUE;
break;
}
}
if ( !$done )
$after_cut = substr($string, 0, $length).$cut_symbol;
}
break;
}
return $after_cut;
}
للتجربة
كود PHP:
echo SmartCut("إذا رأيت نيوب الليث بارزة", 17);
واذا في اي ملاحظات, ياريت تذكروها عشان نطور الدالة ونستفيد جميعاً ان شاء الله