知行社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2081|回复: 0
收起左侧

关键字加链接更新

[复制链接]
知行 发表于 2011-11-10 11:30 | 显示全部楼层 |阅读模式
通过词语过滤实现关键字加链接有很多问题,在官网论坛寻求答案时得知discuz x2原本有此功能,在“运营,关联链接”里可以设置,关键字加链接被称为“关联链接”,但是只能一个个的添加,从添加词语过滤的经验出发,找到了存储关联链接的数据表,pre_common_relatedlink,然后批量修改此表,在导入数据库,可以实现批量添加具有相似链接结构的关联链接,所谓相似链接结构,比如所有关键字链接至纵横搜索页面,http://www.tecbbs.com/search.php?mod=my&source=adlink&q=java ,表示搜索“java”这个词,其他词替换位置即可,只有这样的链接,才你能方便的通过程序批量实现,如果要自定义各种结构的关联链接,或许得一个个的手动添加。

下面是2011-11-10日的更新:


附:
0、使用方法说明:见附件
1、关联连接表:pre_common_relatedlink
2、源代码:

  1. /*
  2. * File:   keyword.cpp
  3. * Author: xuehaiyisu
  4. *
  5. * Created on 2011年11月7日
  6. */#include <iostream>
  7. #include <fstream>
  8. #include <string>
  9. #include <cstdlib>
  10. using namespace std;int main()
  11. {
  12. cout<<"请先建立一个已 key.txt 命名的文件,内容为关键字,建议每行一个关键字。"<<endl<<endl;
  13. string str;//关键字
  14. string data="pre_common_relatedlink";//数据表名,默认为pre_common_relatedlink
  15. cout<<"输入数据表名?(Y/N) \n数据表名默认为 pre_common_relatedlink ,如果您的表前缀是pre_,请选择 N:";
  16. string choice;
  17. getline(cin,choice);
  18. if(choice=="Y")
  19. {
  20.   cout<<"请输入数据表:";
  21.   cin>>data;
  22. }
  23. string domain;//域名
  24. cout<<"请输入您的域名(格式如 www.tecbbs.com,不带http://);回车继续:";
  25. cin>>domain;
  26. string link1="http://";
  27. string link2="/search.php?mod=my&source=adlink&q="; string tmp;
  28. ifstream in;
  29. ofstream out;
  30. in.open("key.txt");
  31. out.open("change.txt");
  32. if (!in)
  33. {
  34.   cout << "Error opening file";
  35.   exit(1);
  36. }
  37. int i=1;//关键字编号
  38. while(in>>str)
  39. {
  40.   tmp=str;
  41.   str=link1+domain+link2+tmp;
  42.   out<<"INSERT INTO `"<<data<<"` VALUES("<<i<<", '"<<tmp<<"', '";
  43.   out<<str<<"', 15);"<<endl;
  44.   i++;
  45. }
  46. in.close();
  47. out.close();
  48. system("pause");
  49. }
复制代码


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

QQ|小黑屋|手机版|知行技术社区 ( 湘ICP备11020288号-1 )

GMT+8, 2020-9-30 07:20 , Processed in 0.037659 second(s), 9 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表