文章内容功能三合一

访客4年前关于黑客接单586

文章内容功能三合一就是
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);?>  

本文转载于老司机博客

标签: EMLOG教程

相关文章

让emlog微语支持html以及解除限制字数

让微语支持html,微语不再单一 首先打开 模版 /t.php 文件 请务必提前备份相关文件 搜索$val['t'] 替换成html_entity_decode($val['t']) 这个...

Emlog标签多,用户多造成后台文章发布卡时间长的解决方法

EMLOG的缓存说明Emlog程序以其轻巧简单的特点受到不少人的青睐,但是对于一个网站数据量比较大的EMLOG网站来说,EMLOG程序自带的缓存功能就有一点鸡肋了。所以这里分享一下如何给EMLOG...

EMLOG博客给导航加自定义字体图标[美化导航新方法]

分享一个思源常用的给emlog加字体图标的方法 起源,,几天前写一个律师模板在手机端有个导航,需要加字体图标如图 进入正题 给导航加字体图标 1.首先,先引入字体图标(如模板自带,请省略)...

Emlog分类页自定义输出每页显示条数

Emlog博客程序的分类页、搜索页、归档页、作者页等列表页的显示数量是后台统一设置的,有时需要单独自定义分类页的显示数量,以下代码为参考默认函数修改而来,具体如下: <?php foreach...

emlog前台调用微语代码

前言,会员中心用微语做公告用。所以需要会员中心调用 Emlog调用最新微语一条代码 (直接放入你需要显示的地方即可,其中的0表示从第一条开始,可自行设置从第几条开始)  <?php $ne...

emlog系统后台登录简约页面源码

boostrap后台登录页面,响应式简单美观集成到emlog 使用说明:上传到 admin/views 文件目录解压即可 下载地址 ...