现在由蓝优网给你们分享一下如何实现文章内容三合一功能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);?>如果有已添加压缩代码的朋友也想实现三合一功能,那么直接在echo_log.php文件内直接替换成如下挂载点:
<?php echo article_index(unCompress($log_content),$domain);?>


蒙公网安备15052402000125号

