WordPress中文截取函数用法解析

很多朋友直接使用phpsubstr函数截取中文是会出现乱码,下面我先来给各位总结中文字符截取的函数,然后以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建站有所帮助。

WordPress主题下载,WordPress免费主题下载,网站源码模板下载


下载说明:
1. 本站所有资源来源于网络和用户上传,如有侵权请联系站长
2. 本站分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,商用请支持正版!不得违反国家法律,否则后果自负!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!

本站的资源均来自于互联网,仅为资源共享、学习参考之目的,其版权均归原作者及其网站所有,如有侵权请留言联系:admin,转转请注明出处:http://zhanmr.com/7140.htm

发表评论

电子邮件地址不会被公开。 必填项已用*标注