Emlog文章内容实现三合一功能

  • 内容
  • 相关
现在由旭博客给你们分享一下如何实现文章内容三合一功能EMLOG教程,一共有以下这三种功能!
1.文章内容添加文章索引,我这里是调用H2的
2.文章内容有含有标签的添加链接
3.文章内容有外链的添加nofollow
关键代码添加到Module.php文件中
方法很简单一共有三个步骤,现在开始如下教程:
《一》关键代码添加到模板目录module.php文件中
<?php  
function article_index($content , $domain) {  
            global $CACHE;  
            $tag_cache = $CACHE->readCache('tags');  
            $matches = array();  
            $ul_li = '';  
            $r = "/<h2>([^<]+)<\/h2>/im";  
    if(preg_match_all($r,$content,$matches)) {  
           foreach($matches[1] as $num => $title) {  
           $content = str_replace($matches[0][$num], '<h2 id="title-'.$num.'">'.$title.'</h2>', $content);  
           $ul_li .= '<li><a href="#title-'.$num.'" title="'.$title.'">'.$title."</a></li>\n";  
             }  
 $content = "\n<div id=\"article-index\"> 
 <b>[文章目录]</b> 
 <ul id=\"index-ul\">\n" . $ul_li . "</ul> 
 </div>\n" . $content;  
 }  
 foreach($tag_cache as $value){  
                $tag_url = Url::tag($value['tagurl']);  
                $keyword = $value['tagname'];  
                $cleankeyword = stripslashes($keyword);  
                $url = "<a href=\"{$tag_url}\" title=\"浏览关于“{$cleankeyword}”的文章\" target=\"_blank\" >{$cleankeyword}</a>";  
                $regEx = '\'(?!((<.*?)|(<a.*?)))('. $cleankeyword . ')(?!(([^<>]*?)>)|([^>]*?</a>))\'s';  
                $content = preg_replace($regEx,$url,$content);          
}  
preg_match_all('/href="(.*?)"/', $log_content, $matches);  
    if ($matches) {  
        foreach ($matches[1] as $val) {  
            if (strpos($val, $domain) === false) {  
                $log_content = str_replace('href="' . $val . '"', 'href="' . $val . '" rel="external nofollow" ', $log_content);  
            }  
        }  
    }  
preg_match_all('/src="(.*?)"/', $log_content, $matches);  
    if ($matches) {  
        foreach ($matches[1] as $val) {  
            if (strpos($val, $domain) === false) {  
                $log_content = str_replace('src="' . $val . '"', 'src="' . $val . '" rel="external nofollow" ', $log_content);  
            }  
        }  
    }  
return $content;  
}  
?> 
《二》添加Css样式要主要CSS文件中
#article-index {  
 border: 1px dashed #dedfe1;  
 float: left;  
 margin: 0 20px 20px 0;  
 padding: 0 6px;  
 width: 280px;  
 line-height: 24px;  
}  
#article-index b {  
 border-bottom: 1px dashed #ddd;  
 display: block;  
 line-height: 30px;  
 padding: 0 4px;  
}  
#index-ul {  
 margin: 5px;  
 line-height: 1.8;  
}  
#index-ul li {  
 background: none repeat scroll 0 0 transparent;  
 list-style-type: decimal;  
 padding: 4px 10px;  
 border-left: 1px solid #e2e2e2;  
 border-bottom: 1px solid #e2e2e2;  
}  
#index-ul li {  
 list-style: circle outside none;  
} 
《三》打开echo_log.php文件放置挂载点
查找
<?php echo $log_content; ?> 
替换(当然你们自己改过,就不是找这个咯)
<?php echo article_index($log_content,$domain);?>
文章转载于老司机dalao

本文标签:

版权声明:若无特殊注明,本文皆为《蓝优》原创,转载请保留文章出处。

本文链接:Emlog文章内容实现三合一功能 - http://xuboke.com/catjs/171.html

发表评论

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

00:00 / 00:00
顺序播放