Typecho首页文章字数自动截取

杂谈   68人阅读    0 条评论    

一、Typecho首页本身自带的不带格式自动截取
<?php $this->description(); ?>

二、首页文章不带格式自动截取摘要
<?php $this->excerpt(30, '...'); ?>//30代表显示的字数

三、首页文章带格式自动截取

<?php
preg_match_all('/<p>.*?<\/p>/im', $this->content, $m);
//print_r ($m[0]);
//如果有一个以上的p
if(count($m[0])>0){
//echo('--第一个P字符串长度--'.strlen($m[0][0]).'<hr>');

//如果第一个p字数小于200
if(strlen($m[0][0])<200){
//则输出第一个p+第二个p (如果没有第二个p php好像会自动忽略)
echo($m[0][0].$m[0][1]);
}
else{
//输出第一个p
echo($m[0][0]);
}
}
else{
//echo('没有找到p,输出摘要:<hr>');
$this->excerpt(140, '...');
}
//echo('<hr>-----数量'.count($m[0]));
?>

四、Typecho首页文章带格式自动截取

1.带图片输出

<?php
if(preg_match('/<!--more-->/',$this->content)||mb_strlen($this->content, 'utf-8') < 270)
{
$this->content('阅读全文...');
}
else
{
$c=mb_substr($this->content, 0, 270, 'utf-8');
echo $c.'...';
echo '</br><p class="more"><a href="',$this->permalink(),'" title="',$this->title(),'">阅读全文...</a></p>';
}
?>

2.不带图片输出:

<?php
if(preg_match('/<!--more-->/',$this->content)||mb_strlen($this->content, 'utf-8') < 270)
{
$this->content('阅读全文...');
}
else
{
$c=mb_substr($this->content, 0, 270, 'utf-8');
$c=preg_replace("/<[img|IMG].*?src=[\'\"](.*?(?:[\.gif|\.jpg|\.jpeg|\.png|\.tiff|\.bmp]))[\'|\"].*?[\/]?>/","",$c);
echo $c.'...';
echo '</br><p class="more"><a href="',$this->permalink(),'" title="',$this->title(),'">阅读全文...</a></p>';
}
?>

3.截取代码部分输出:

<?php
if(preg_match('/<!--more-->/',$this->content)||mb_strlen($this->content, 'utf-8') < 270)
{
$this->content('阅读全文...');
}
else
{
$c=mb_substr($this->content, 0, 270, 'utf-8');
$c=preg_replace("/<[img|IMG].*?src=[\'\"](.*?(?:[\.gif|\.jpg|\.jpeg|\.png|\.tiff|\.bmp]))[\'|\"].*?[\/]?>/","",$c);
if(preg_match('/<pre>/',$c))
{
echo $c,'</code></pre>','...';;
}
else
{
echo $c.'...';
}
echo '</br><p class="more"><a href="',$this->permalink(),'" title="',$this->title(),'">阅读全文...</a></p>';
}
?>

世事忙忙如水流,休将名利挂心头。粗茶淡饭随缘过,富贵荣华莫强求。须交有道之人,莫结无义之友,饮清静之茶,莫贪花色之酒,开方便之门,闲是非之口。


»随机文章  »相关文章  »热门文章  »最新文章  »最新评论

    发表新评论