博客之家
  • 博客首页
  • 博客導航
  • 好文分享
  • 文章投稿
  • 给我留言
首页 未分类 正文

emlog自动内链插件,自动给文章内的TAG标签加上站内链接

博客之家 2017-09-12 20:32 未分类 阅读 3.59w

公共函数库的插件编写初衷是“将小功能合并到一个插件,方便安装又避免多个插件的效率降低”。



此版本支持功能:

content2keyword() 函数,将正文中出现的 TAG 替换成站内超链接。

本函数需要修改模板;



使用方法:

1、后台上传并启用该插件

2、打开 templates/模板名/echo_log.php

找到类似<?php echo $log_content;?>的地方,改为<?php echo content2keyword($log_content);?>

PS:我不知道为什么emlog没有提供类似的钩子“数据输出前做格式化”,所以需要修改模板(也许是我不懂EMLOG的规则)

作者:HN



将以下代码保存为 publicfun.php,放到publicfun文件夹,再打包成ZIP格式,在EMLOG后台上传插件并启用就行了。

<?php
/*
Plugin Name: 公共函数库
Version: 1.0
Plugin URL:
Description: 计划封装常用的功能,又避免安装多个插件带来的效率低下
Author: HN(QQ:14683667)
Author URL: #
*/
!defined('EMLOG_ROOT') && exit('access deined!');

/**
 * content2keyword(): 替换正文中出现的TAG标签为超链接,要求:将 <?php echo $log_content; ?>的地方,改为 <?php echo content2keyword($log_content); ?>
 * 此函数效率相对较低,但暂时没有更好方法实现,主要是避免 将 a、img 标签中的 alt、title 等内容与TAG重复时的处理
 * @param unknown_type $content
 * @return unknown|mixed
 */
function content2keyword($content){
        global $CACHE;
        $tags = $CACHE->readCache('tags');
        if( !is_array($tags) ){
                return $content;
        }

        //避免在链接、IMG标签内重复添加,先将A标签和 IMG标签匹配并保存起来
        preg_match_all('/<([a|img]).*>.*<\/\\1>/Uis', $content, $d);
        if( is_array( $d[0] ) ){
                foreach( $d[0] as $key=>$val ){
                        $flag = "{======{$key}======}";
                        $content = str_replace($val, $flag, $content);
                }
        }

        //替换tags链接
        foreach( $tags as $val ){
                $tagurl = "<a title='{$val['tagname']}' href=\"".Url::tag($val['tagurl'])."\">".$val['tagname'].'</a>';
                $content = str_replace( $val['tagname'], $tagurl, $content );
        }

        //将之前保存的A、IMG标签,再替换回原样
        if( is_array( $d[0] ) ){
                foreach( $d[0] as $key=>$val ){
                        $flag = "{======{$key}======}";
                        $content = str_replace($flag, $val, $content);
                }
        }

        return $content;
}



本插件并非本站原创,版权归原作者所有。这里只是为了促进学习特此分享。希望大家都能尊重作者的劳动!

文章作者:博客之家
文章標題:emlog自动内链插件,自动给文章内的TAG标签加上站内链接
文章鏈接:https://www.likinming.com/2558.html
本站所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議,轉載請註明來自博客之家 !

📚 推荐阅读

  • 不愿低在尘埃里
  • 常见搜索引擎的习惯
  • 快速搭建属于自己的谷歌镜像网站附源码
  • 看开心情才会明媚!
  • 微信淘宝客怎么加人快又多?
  • 網站被黑客入侵,如何處理?
  • 将多说的json评论数据导入到emlog博客程序的数据库
  • 教你如何面对生活

你对癌症治疗知多少?
« 上一篇 2017-09-13
linux常用命令大全
下一篇 » 2017-09-12

发表评论

请输入验证码
还没有评论, 告诉我们你的想法

搜尋有價值的

热门文章

  • TOP1
    博客之家今天正式上線
    14年前 202.38w
  • TOP2
    博客之家导航源码分享
    13年前 102.62w
  • TOP3
    李明的鲜果店
    9年前 87.76w
  • TOP4
    iPhone6 ios8不显示通话记录处理方法
    12年前 60.42w
  • TOP5
    给我们投稿
    14年前 56.85w
  • TOP6
    超级SEO外链工具源码分享
    14年前 52.06w
  • TOP7
    超级SEO外链工具
    14年前 40.03w
  • TOP8
    我的人生我作主——李明
    13年前 39.83w
  • TOP9
    腾讯电脑管家误报网站的申诉方法
    9年前 34.42w
  • TOP10
    博客之家改版成功
    14年前 29.41w
  • TOP11
    利用:before选择器给你的网站Logo添加扫光特效
    11年前 27.87w
  • TOP12
    多做运动的好处
    13年前 24.61w

最新评论

  • 博客之家5 个月前
    藏福守心,遠離是非,日子平穩,歲月安康
  • 张赛博客6 个月前
    有时候,错误的路上,努力越多,反而是沉没...
  • atmp1 年前
    心安即是归处
  • 博客之家1 年前
    @Eps工具网:Hi,午安...
  • Eps工具网1 年前
    早晨起来
  • Eps工具网1 年前
    来逛逛
  • Eps工具网1 年前
    Eps工具网
  • 今日头条新闻2021-07-01 17:33
    文章不错交个朋友
  • 栾。2021-05-04 22:59
    看看
  • 夏草2021-02-22 10:27
    远古外星人 (2009-2019)史前...

友情連結

  • A TECH ONE
  • EPS工具網
  • 2W工具網
  • 小杰工具箱
  • 舍力博客
  • 提交收錄
Copyright © 2026 博客之家 版權所有
關於本站| 免責聲明| sitemap| 簡體| 繁體
内容受版权保护,禁止复制!