soroush.r70
پنج شنبه 28 اردیبهشت 1391, 16:03 عصر
من یک تابع کوتاه کننده متن گیر اوردم که دقیقا نمی دونم چطوری ازش استفاده کنم در واقع می خوام با استفاده از این تابع 500 کاراکتر رو در صفحه اول نشون بدم و متن کاملش بره به ادامه مطلب به چه صورته...؟
function summarize($str, $limit=100000, $offset=100, $endlineChars=array('.','!','?',"\n",')',';',',','؟','،')) {
if(strlen($str)<=$limit)
return $str;
for($i=$limit; $i>$limit-$offset; $i--) {
if(in_array($str{$i}, $endlineChars)) {
$length = $i;
break;
}
if(!isset($spaceLength) && $str{$i}==' ')
$spaceLength = $i;
}
if(isset($length))
return mb_substr($str, 0, $length+1, 'utf8');
for($i=$limit; $i<$limit+$offset; $i++) {
if(in_array($str{$i}, $endlineChars)) {
$length = $i;
break;
}
if(!isset($spaceLength) && $str{$i}==' ')
$spaceLength = $i;
}
if(isset($length))
return mb_substr($str, 0, $length+1, 'utf8');
if(isset($spaceLength))
return mb_substr($str, 0, $spaceLength, 'utf8');
return mb_substr($str, 0, $limit+1, 'utf8');
}
function summarize($str, $limit=100000, $offset=100, $endlineChars=array('.','!','?',"\n",')',';',',','؟','،')) {
if(strlen($str)<=$limit)
return $str;
for($i=$limit; $i>$limit-$offset; $i--) {
if(in_array($str{$i}, $endlineChars)) {
$length = $i;
break;
}
if(!isset($spaceLength) && $str{$i}==' ')
$spaceLength = $i;
}
if(isset($length))
return mb_substr($str, 0, $length+1, 'utf8');
for($i=$limit; $i<$limit+$offset; $i++) {
if(in_array($str{$i}, $endlineChars)) {
$length = $i;
break;
}
if(!isset($spaceLength) && $str{$i}==' ')
$spaceLength = $i;
}
if(isset($length))
return mb_substr($str, 0, $length+1, 'utf8');
if(isset($spaceLength))
return mb_substr($str, 0, $spaceLength, 'utf8');
return mb_substr($str, 0, $limit+1, 'utf8');
}