0
wordpress自动显示摘要
wordpress自动显示摘要
- /**
- * author 冰古
- *wordpress自动显示摘要
- * link http://wanwp.com
- */
- $size = 500; // 500是显示的字节数,可按照自己的要求修改
- $more_link_text = '阅读全文...'; // 显示在摘要后面的提示
- add_action('the_content', 'control_content_size');
- function control_content_size($content) {
- global $size, $more_link_text;
- if (is_singular()) return $content;
- $content = strip_tags($content,"<p>");
- $content = cut_str($content, $size);
- $content = '<p>' . $content . '</p><p><a href="' . get_permalink() . "" class="more-link">$more_link_text</a></p>";
- return $content;
- }
- /**
- * cut_str用于截断包含中文(或其他多字节?)的utf8编码的字符串
- * @param string $str utf8编码的字符串
- * @param int $len 需要截取的长度(单位是字节)
- */
- function cut_str($str, $len) {
- if (!isset($str[$len])) {
- // 判断字符串长度是否已经达到需要截取的长度
- // 未达到时,直接输出原字符串
- } else {
- if (seems_utf8($str[$len-1])) // 判断截断字符串的最后一个字符是否是utf8编码的
- $str = substr($str, 0, $len); // 如果是utf8编码的,直接截断输出
- else { // 如果不是utf8编码的,因为utf8编码的中文是三个字节进行保存的,则判断该字符和周围字符组成的字符串是否符合utf8编码
- if(seems_utf8($str[$len-3].$str[$len-2].$str[$len-1]))
- $str = substr($str, 0, $len-3) . $str[$len-3] . $str[$len-2] . $str[$len-1];
- elseif(seems_utf8($str[$len-2].$str[$len-1].$str[$len]))
- $str = substr($str, 0, $len-2) . $str[$len-2].$str[$len-1].$str[$len];
- elseif(seems_utf8($str[$len-1].$str[$len].$str[$len+1]))
- $str = substr($str, 0, $len-1) . $str[$len-1].$str[$len].$str[$len+1];
- else // 这个else应该不用也是可以的
- $str = substr($str, 0, $len);
- }
- }
- return $str;
- }
上一篇 淘宝客今日开始
相关文章