dedecms自动采集更新伪原创插件高级版57(类里加上一个一个替换的方法,我想你懂的)

优采云 发布时间: 2022-02-08 23:31

  dedecms自动采集更新伪原创插件高级版57(类里加上一个一个替换的方法,我想你懂的)

  原理很简单,在后台采集,自动替换标题关键词,我想你明白了。

  好了,话不多说,工作开始了:

  1.准备库表,获取sql脚本,表名为cz_str_replace

  SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------

-- Table structure for cz_str_replace

-- ----------------------------

DROP TABLE IF EXISTS `cz_str_replace`;

CREATE TABLE `cz_str_replace` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`interconvert` int(1) unsigned zerofill DEFAULT '0',

`find` varchar(20) CHARACTER SET gbk DEFAULT NULL,

`replace` varchar(20) CHARACTER SET gbk DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=latin1;

-- ----------------------------

-- Records

-- ----------------------------

INSERT INTO `cz_str_replace` VALUES ('1', '0', '肌肉', '鸡肉');

INSERT INTO `cz_str_replace` VALUES ('2', '0', '怎么', '如何');

INSERT INTO `cz_str_replace` VALUES ('3', '0', '为何', '为什么');

INSERT INTO `cz_str_replace` VALUES ('4', '0', '为什么', '为何');

INSERT INTO `cz_str_replace` VALUES ('5', '0', '几种', '那些');

INSERT INTO `cz_str_replace` VALUES ('6', '0', '正解', '详解');

  PS:interconvert用法:0为默认值,即替换; 1是替换(替换)

  2.准备启动采集php程序,打开include/dede采集.class.php

  先给类添加一个替换方法

  //采集内容伪原创替换

function pr_str_replace($str)

{

$dsql = new DedeSql(false);

$dsql->SetQuery("SELECT * FROM `cz_str_replace`");

$dsql->Execute();

while ($row = $dsql->GetArray())

{

if($row['interconvert'] == 1)

{

$str = str_replace($row['find'], "@@@@", $str);

$str = str_replace($row['replace'], $row['find'], $str);

$str = str_replace("@@@@", $row['replace'], $str);

}

else if($row['interconvert'] == 0)

{

$str = str_replace($row['find'], $row['replace'], $str);

}

}

return $str;

}

  接下来,在采集入库前需要替换的内容中加入这个方法

  //伪原创标题替换

$v['title'] = $this->pr_str_replace($v['title']);

$inquery = "INSERT INTO `#@__co_htmls` (`nid` ,`typeid`, `title` , `litpic` , `url` , `dtime` , `isdown` , `isexport` , `result`)

VALUES ('{$this->noteId}' , '0', '".addslashes($v['title'])."' , '".addslashes($v['image'])."' , '".addslashes($v['link'])."' , 'dtime' , '0' , '0' , ''); ";

$this->dsql->ExecuteNoneQuery($inquery);

  3.大功告成,按一下采集按钮...

  好的,让我们为初学者尝试一下

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线