experience

经验

zw-1988.com

home > 经验 > wordpress 标题限制字数

2020.5.13 wordpress 标题限制字数

固定标题文字长度超出部分。。。表示

最开始

function wpbx_excerpt_length( $length ) { return 120; }
 add_filter( 'excerpt_length', 'wpbx_excerpt_length' );
<?php the_excerpt();?>

现在

在functions.php加入以下代码:

function excerpttitle($max_length) { 
$title_str = get_the_title();
 if (mb_strlen($title_str,'utf-8') > $max_length ) { 
 $title_str = mb_substr($title_str,0,$max_length,'utf-8').'…'; 
 } return $title_str; }
 
 <?php echo excerpttitle(23);?>

23直接代表你想要获取的字数位数

主要看mb_strlen
mb_strlen() — 获取字符串的长度

mixed mb_strlen ( string $str [, string $encoding = mb_internal_encoding() ] )

$str 要检查长度的字符串
$encoding,可指定字符编码,如省略则使用内部字符编码

内部编码可以通过mb_internal_encoding()函数得到。

返回值:返回具有encoding编码的字符串str包含的[字符数],多字节的字符被计为 1

例子:

<?php //测试时文件的编码方式要是UTF8 $str='中文a字1符'; echo strlen($str).'<br>';//14 echo mb_strlen($str,'utf8').'<br>';//6 echo mb_strlen($str,'gbk').'<br>';//8 echo mb_strlen($str,'gb2312').'<br>';//10 ?>

在mb_strlen计算时,选定内码为UTF8,则会将一个中文字符当作长度1来计算,所以“中文a字1符”长度是6

另一种方法

function mcg_excerpt( $text, $lenth = 140 ) { 
$text = mb_substr( $text, 0, $lenth,"utf-8" ); 
$tags = array( "<p>", "</p>" ); 
$myExcerpt = str_replace( $tags, "", $text ); 
return $myExcerpt; } 
add_filter( 'the_excerpt', 'mcg_excerpt' );


function excerpt_read_more_link( $output ) { $output = mb_substr( $output, 0, 40 ,"utf-8" ); return $output . '<span>...</span>'; } add_filter( 'the_excerpt', 'excerpt_read_more_link' );

mb_substr( $str, $start, $length, $encoding )

$text = mb_substr( $text, 0, $lenth );中的0

正数 – 在字符串的指定位置开始

负数 – 在从字符串结尾的指定位置开始

0 – 在字符串中的第一个字符处开始

str_replace() 函数以其他字符替换字符串中的一些字符(区分大小写)

$str,需要截断的字符串

$start,截断开始处,起始处为0

$length,要截取的字数

$encoding,网页编码,如utf-8,GB2312,GBK

参数中,前两个是必需参数,后面2个是可选参数。但加了第四个参数第二个参数就不能少了。

<?php  $str='我爱你,中国!我爱你,中国!我爱你,中国!'; echo mb_substr($str,3); //输出会乱码 echo mb_substr($str,3,'utf-8'); //无输出 $len=mb_strlen($str,'utf-8'); //计算出字符串的长度 echo mb_substr($str,3,$len,'utf-8');//正常输出 ?>

 

«
相关文章
wordpress (25)java script (9)tool (8)css (2)攻略 (1)第一次人体 (1)插件 (1)ECharts (1)food (1)雪糕 (1)动画 (1)book (1)标签云 (1)生活 (1)一言难尽的画稿 (1)
辽ICP备16002031号

Copyright © 2016 - 2020 1988-zw.com