کوتاه کردن متن و بستن تگهای بسته نشده !
کد PHP:
function shorten_text($str, $limit='100')
{
$array_words = explode(' ', $str);
if(count($array_words) > $limit)
{
$i = 0;
$final = '';
foreach($array_words as $word){
if($limit > $i)
{
$final .= "$word ";
}
$i++;
}
$short = 1;
}
else
{
$final = $str;
}
$tags = array('center' => 'center',
'img=[^\]]*' => 'img',
'url=[^\]]*' => 'url',
'img' => 'img',
'url' => 'url',
'u' => 'u',
'i' => 'i',
'b' => 'b',
'align=[^\]]*' => 'align',
'mail=[^\]]*' => 'mail',
'font=[^\]]*' => 'font',
'size=[^\]]*' => 'size',
'color=[^\]]*' => 'color');
$matches = array();
foreach ($tags as $opentag => $closetag)
{
$closed = preg_match_all("~\[/".$closetag."\]~i", $final, $matches);
$open = preg_match_all("~\[".$opentag."\]~i", $final, $matches);
if ($open > $closed)
{
$final .= "[/".$closetag."]";
}
}
if(isset($short))
{
return "".$final."[....]";
}
else
{
return $final;
}
}
?>