一聚教程网:一个值得你收藏的教程网站

热门教程

wordPress中文截取的函数介绍

时间:2022-06-25 19:14:36 编辑:袖梨 来源:一聚教程网

中文截取函数

 代码如下 复制代码

function utf8_trim($str)
{
$len = strlen($str);
for ($i=strlen($str)-1; $i>=0; $i-=1){
$hex .= ‘ ‘.ord($str[$i]);
$ch = ord($str[$i]);
if (($ch & 128)==0) return(substr($str,0,$i));
if (($ch & 192)==192) return(substr($str,0,$i));
}
return($str.$hex);
}
function mul_excerpt ($excerpt,$excerpt_length) {
$myexcerpt = substr($excerpt,0,$excerpt_length);
return utf8_trim($myexcerpt) . ‘… ‘;
}

或者这样也可以

//自动截断不乱码
// jieduan luanma
/////////////////
function Limit_Char($max_char = 200, $more_text = '...', $more_link_text = '', $limit_type = 'content') {
    if ($limit_type == 'title') { $limiter = get_the_title(); }
    else { $limiter = get_the_content(); }
    $limiter = apply_filters('the_content', $limiter);
    $limiter = strip_tags(str_replace(']]>', ']]>', $limiter));
     if (strlen($limiter) > $max_char) {
        $limiter = substr($limiter, 0, $max_char+1);
        $limiter = utf8_conver($limiter);
        echo $limiter;
        echo $more_text;
        if ($more_link_text != '') {
            echo ' '.$more_link_text.'';
        }
    } else {
        echo $limiter;
    }
}

function utf8_conver($str) {
        $len = strlen($str);
        for ($i=strlen($str)-1; $i>=0; $i-=1){
                $hex .= ' '.ord($str[$i]);
                $ch = ord($str[$i]);
        if (($ch & 128)==0) return(substr($str,0,$i));
                if (($ch & 192)==192) return(substr($str,0,$i));
        }
        return($str.$hex);
}

截取中文标题

 代码如下 复制代码

echo '

'. mb_substr(get_the_title(),0,18,"utf8")."..." .'

';

这样会出现筹码的

我在functions.php加入 上面的中文截取代码


然后在想要截取标题的位置,添加get_short_title(),目的就达到,详细代码如下:

 代码如下 复制代码

echo '

  • ';
    get_short_title(18);
    echo '
    '. get_the_time('n月j日') .'
  • ';

    当然,其他地方这样调用也可以:

     代码如下 复制代码

    热门栏目