文章内容功能三合一

2017-12-3 / 2 评论 EMLOG教程 / 思源哥哥

本文共计 13806 字,感谢您的耐心浏览与评论.

文章内容功能三合一就是
1.文章内容添加文章索引,我这里是调用H2的
2.文章内容有含有标签的添加链接
3.文章内容有外链的添加nofollow


关键代码添加到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样式

 #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文件

查找

  1. <?php echo $log_content; ?>  

替换(当然你们自己改过,就不是找这个咯)

  1. <?php echo article_index($log_content);?>  

  2. 效果截图.jpg

本文转载于老司机博客

标签: EMLOG教程

转载:转载请注明原文链接 - 文章内容功能三合一


2条回应:“文章内容功能三合一”

  1. 看了两遍才看懂


发表评论