内容自动匹配关键字关联对应链接

今天研究了一下维基内容,看到里面大多数文章里面很多文字都会自动匹配上链接,联想到自己每写一篇博文的时候,得自己重新找过某个关键字的文章有没有写过,得重新搜索一下,能不能把这个功能用到自己的博客上呢?

仔细分析了一下维基文章:发现每个内容关键字其实都有一篇以此关键字为标题的文章。规律出来了,自己花了点时间写了类似一个功能,在这里就简单说说实现逻辑:添加/修改/更新/删除博文的时候->生成一个键名=>链接地址的格式缓存文件(参考 PHP如何过滤敏感单词 )->显示文章->取缓存文件->文章内容自动匹配链接。

贴上部分代码:

//产生自动匹配关键字数组  

public function autoKey(){  

    $sql="select art_id,art_title from tm_art";  

    $artList = CMDB::query($sql);  

    $newArtList = array();  

    foreach($artList as $item){  

        $newArtList[$item['art_title']] = '<a href="http://www.9streets.cn/art-php-'.$item['art_id'].'.html"><span style="color: rgb(255, 0, 0);">'.$item['art_title'].'</span></a>';  

    }  

    $data = serialize($newArtList);  

    //写入文件  

    $fo = @fopen(dirname(dirname(__file__))."/cache/" . 'totalArtList.xml','w');  

    @fwrite($fo,$data);  

    @fclose($fo);     

}  

     

//自动匹配关键字  

public function filterWord($string) {  

    $file = dirname(dirname(__file__))."/cache/totalArtList.xml";  

    $content = @ file_get_contents($file);  

    $keywords = unserialize($content);  

       return strtr($string, $keywords);  

    }  

本人知识面有限,分析的不到位的地方可以说说哈,欢迎童鞋们提出不足之处!


 转载自:第九街-PHP[http://www.9streets.cn/]

转载于:https://my.oschina.net/leadsir/blog/137734

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值