Code Bye

wordpress自定义摘要截取中英文字数代码

网上很多关于wordpress自定义摘要的代码,大多都是如下这段:

function mts_excerpt($limit) {
$excerpt = explode(‘ ‘, get_the_excerpt(), $limit);
if (count($excerpt)>=$limit) {
array_pop($excerpt);
$excerpt = implode(” “,$excerpt);
} else {
$excerpt = implode(” “,$excerpt);
}
$excerpt = preg_replace(‘`[[^]]*]`’,”,$excerpt);
return $excerpt;
}

经过尝试发现这段代码使用场景比较适合英文文章,因为英文使用的空格分隔单词,并不适合中文文章,中文文章并不需要空格间隔2个字。

于是自己写了个适合中文场景的代码,欢迎参考:

//codebye 原创 转载请注明出处链接

function mts_excerpt($limit) {
$excerpt = get_the_excerpt();

$excerpt = preg_replace(‘`[[^]]*]`’,”,$excerpt);
if(mb_strwidth($excerpt)>$limit)
{
$excerpt=mb_strimwidth($excerpt,0,$limit,’ …’);
}
return $excerpt;
}

调用方式,在输出摘要的地方加入 <?php echo mts_excerpt(260);?>


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明wordpress自定义摘要截取中英文字数代码