函数名称调整大小不起作用2

时间:2014-03-26 10:23:11

标签: php function resize title

我需要调整我使用此功能的标题,但它的工作方式如下:car ... for ... sale 1991 TOYOTA 1.6 16 VALF 我希望用15个字来限制单词:car for sale 1... 这是我的代码:

function title_resize($text, $max_length = 15, $fulltext = false)
{
    global $db;
    (string) $display_output = null;

    $text = $db->add_special_chars($text);

    if ($fulltext)
    {
        $output = (strlen($text) > $max_length) ? substr($text, 0, $max_length - 3) . '... '  : $text;
    }
    else 
    {
        $text_words = explode(' ', $text);

        $nb_words = count($text_words);

        for ($i=0; $i<$nb_words; $i++)
        {
            $display_output[] = (strlen($text_words[$i]) > $max_length) ? substr($text_words[$i], 0, $max_length-3) . '... ' : $text_words[$i];
        }

        $output = $db->implode_array($display_output, ' ', true, '');
    }

    return $output;
}

我该怎么做? 我想要的是用15个字限制标题并显示3个点 我想这样做:(这个项目是......) usac:<?=title_resize($item_details['name']);?>

4 个答案:

答案 0 :(得分:0)

function title_resize($title, $length){
    return substr($title, 0, $length) . '...';
}

答案 1 :(得分:0)

也许我没有得到问题,但这是预期的结果吗?

function title_resize($text, $max_length = 15, $fulltext = false)
{
    if ($fulltext)
    {
        return $text;
    }
    else 
    {
        return substr($text, 0, $max_length) . '...';   
    }
}

$str = "this item is for sale";

var_dump(title_resize($str, 10));

答案 2 :(得分:0)

试试这个....当文字大于指定长度时,它只显示点。

<?php
function title_resize($text, $length = ''){
    $length = (empty($length)) ? 15 :    $length;
    $New_title  =   substr($text, 0, $length);
    if(strlen($text) > $length)
    {
        $New_title  .= "...";
    }
    return $New_title;
}
echo title_resize("this will only show fifteen characters");
?>

答案 3 :(得分:0)

谢谢朋友,我做了类似这样的事情: 它有效,但我担心如果我在原始鳕鱼中丢失了什么东西?

 function title_resize($text, $max_length = 15, $fulltext = false)
{
    global $db;
    (string) $display_output = null;
     $text = $db->add_special_chars($text);
     if ($fulltext)
    {
    $output = $text;        
    }
    else 
    {
        $output = (strlen($text) > $max_length) ? substr($text, 0, $max_length) . '... '  : $text;

    }
    return $output;
}