如何解决WordPress内置函数mb_strimwidth()不能用问题?
通常WordPress内置函数mb_strimwidth()可截取WordPress的文章里首段文字了,但是会有些服务器或主机尽然不支持 php-mbstring ,那么如何解决WordPress内置函数mb_strimwidth()不能用问题?
<?php echo mb_strimwidth(strip_tags($post->post_content),0,100,’…’);?>
如果是自己的服务器,可以尝试用 yum install php-mbstring 来解决问题。
但是,如果是虚拟主机,没有什么权限的话,我们重新定义一个截取字符串的函数方法即可,代码如下:
//自定义截断函数
function dm_strimwidth($str ,$start , $width ,$trimmarker ){
$output = preg_replace(‘/^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,’.$start.’}((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,’.$width.’}).*/s’,’\1′,$str);
return $output.$trimmarker;
}
将以上代码放入到主题目录的functions.php内,然后使用以下代码调用即可:
<?php echo dm_strimwidth(strip_tags($post->post_content),0,100,’…’);?>