文章内容功能三合一

访客3年前关于黑客接单554

文章内容功能三合一就是
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资源网搭建 二次开发 落地检测 采集定制 等服务 思源资源网担保:Emlog资源网模板设计、插件定制、模板二次修改 广告屏蔽搜索引擎,过落地页检测(不过不收费),模板SE...

emlog获取同分类文章

在项目开发中,一篇文章远不能覆盖全部内容 可以判断一下再输出。 <?php //同分类文章 $sql=mysql_query("SELECT * FROM ".DB_PREFIX."blog...

转载修改Emlog验证码机制,有效防止恶意识别/解决恶意评论灌水

验证码绕过漏洞原理: 1、利用NULL和空字符串比较的结果是TRUE从而绕过验证码检查逻辑 2、正常留言输入验证码进行BurpSuite抓包 3、将PHPSESSID修改成随意一个值,目的是...

Emlog程序多个域名全站访问的方法

为了实现多个域名访问,资源地址不是主域名的情况下,舍力写了这个教程 本教程也可以配合不同域名不同模板使用,效果更佳 我们很多朋友可能有这样的需要,如果你手上有空余的域名,你也可以试试,让你的eml...

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

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

Emlog文章发布时间美化代码

文章时间美化如几天前等等 本站专用的 <?php function sydate($datetemp, $dstr = 'Y-m-d H:i',$mdstr = 'm月d日') { $tim...