本课程给大家实例讲述了WordPress中文截取函数用法。分享给大家供大家参考。具体分析如下:
很多朋友直接使用php substr函数截取中文是会出现乱码,下面我先来给各位总结中文字符截取的函数,然后以wordpress截取中文标题为例给大家介绍实例应用.
中文截取函数,代码如下:
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 '</p><p>'. mb_substr(get_the_title(),0,18,"utf8")."..." .'</p></li>'; |
这样会出现乱码的,我在functions.php加入上面的中文截取代码,然后在想要截取标题的位置,添加get_short_title(),目的就达到,详细代码如下:
echo '<li><a href="' . get_permalink() . '">'; get_short_title(18); echo '</a><data>'. get_the_time('n月j日') .'</data></li>'; |
当然,其他地方这样调用也可以,代码如下:
<?php get_short_title(); ?> |
希望本教程所述对大家的WordPress建站有所帮助。