DEDE采集的自定义采集高级技巧
首先,需要定义好文章内容的采集规则,保证最后得到的只是文章的正文(这属于最基本的东西,不再说明)
要使用这个新的变量@url很简单
$phpcode = preg_replace("/'@body'|\"@body\"|@body/isU",'$DedeBodyValue',$phpcode);
{
@eval($phpcode.";");
$phpcode = preg_replace("/'@body'|\"@body\"|@body/isU",'$DedeBodyValue',$phpcode);
以下为引用的内容:
}
通过以上一段代码,所有采集的文章都会自动加上一个前言,这是一个最简单的例子了。
if($sarr["function"]!=""){
要实现特殊的采集要求,内容规则里有一个自定义处理接口非常关键。
$DedeMeValue = $fvalue;
$v = $this->RunPHP($v,$sarr["function"]);
就可以了,至此源代码全部修改完毕。
这里定义了默认的几个预定变量
采集到一篇文章,现在你需要在文章正文显示这个网址,怎么做呢?
$phpcode = preg_replace("/'@me'|\"@me\"|@me/isU",'$DedeMeValue',$phpcode);
以下为引用的内容:
我们注意到,在自定义处理接口的右边有@body,@litpic,@me三个预定变量,分别表示原始网页,缩略图、当前标记值和最终结果。那么我们现在要再增加一个变量@url,表示当
@me=@me.'<br><br>文章来源:'.@url @eval($phpcode.";");
//用户自行对内容进行处理的接口
$DedeMeValue = $fvalue;
if(eregi('@body',$phpcode)){
比如说,你要在每篇采集文章正文前加一个前言,前言的内容是正文的前100个字,应该怎么做呢?
if(eregi('@litpic',$phpcode)){
$v = $this->RunPHP($v,$sarr["function"], $dourl);
$v = $this->RunPHP($v,$sarr["function"]);
因此上一段就要改成: //-------------------------------
}else{
@me='前言:'.substr(@me, 0, 200).'<br><br>'.@me $DedeBodyValue = $this->tmpHtml;
$DedeUrlValue = $dourl;
$tmpLtKeys[$k]['f'] = $sarr["function"];
以下为引用的内容:
DEDE采集的自定义采集高级技巧
$phpcode = preg_replace("/'@url'|\"@url\"|@url/isU",'$DedeUrlValue',$phpcode);$phpcode = preg_replace("/'@me'|\"@me\"|@me/isU",'$DedeMeValue',$phpcode);
把其中的
$phpcode = preg_replace("/'@litpic'|\"@litpic\"|@litpic/isU",'$DedeLitPicValue',$phpcode);if(!eregi('@litpic',$sarr["function"])){
//用扩展函数处理采集到的原始数据
}
return $DedeMeValue;
其中,因为汉字是双字节的,所以200个字节表示100个汉字,另外,如果正文里混有其它html代码的话,还需要调整一下字节数。以上代码中'前言:'和'<br><br>'只是一个最基本的美工修饰,让前言和文章主体分离。
以下为引用的内容:
function RunPHP($fvalue,$phpcode)
if(eregi('@body',$phpcode)){
以下为引用的内容:
以下为引用的内容:
现在我们要增加一个@url
注意,为了给@url传递值,我们在函数的参数里增加了一个参数$dourl=false,因此还需要在调用这个函数的地方改一下($dourl=false表示该参数并不是必须的,一般调用时可以不用此参数)
前文章的网址。要做到这个功能,就必须改源代码。
function RunPHP($fvalue,$phpcode, $dourl=false)
比如说,在文章内容的自定义处理接口里写下:
$artitem .= "{dede:field name='$k'}$v{/dede:field}\r\n";
然后,就需要在自定义处理接口里写一段程序:
改成:
找到如下代码: 只需改一个文件就可以了,即:include目录下的pub_collection.php(注意,这里使用的是DEDE4.0版本) } } $DedeBodyValue = $this->tmpHtml;$DedeLitPicValue = $this->breImage;
这个需求可能大家遇上的不多,但举一反正,其它类似的需求也就有解决的思路了。
if(eregi('@litpic',$phpcode)){
就可以了
//---------------------------------$phpcode = preg_replace("/'@litpic'|\"@litpic\"|@litpic/isU",'$DedeLitPicValue',$phpcode);
{
}
现在举一个复杂些的例子,需要修改源代码。
return $DedeMeValue;
以下为引用的内容:
}
假设,你现在需要在文章正文处贴上文章来源的网址,比如说你从
dede系统自带的采集器其实相当强大,特别是整个dede系统是完全开源的,即使有些采集上的特殊需求,只要对PHP的基本语言有掌握的话,也可以轻意实现。
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://www.juheyunku.com/jz/dedecms/3494.shtml
相关文章
热门TAG
命令 权重 外链 企业网站 白帽 php 织梦教程 dedecms修改内容 javascript 织梦 功能 标签 调用 详解 服务器 网站流量 实例解析 Dedecms 织梦cms HTML tags标签 python jquery教程 jquery windows SEO优化 蜘蛛 搜索引擎 网站收录 JSP最新文章
-
织梦友情链接调用和图片
时间:2020-12-29
-
dedecms织梦会员登录二级域
时间:2020-12-29
-
织梦cms手机站首页不更新
时间:2020-12-29
-
织梦DEDECMS提示信息提示框
时间:2020-12-24
-
使用织梦cms做多语言的网
时间:2020-12-24
-
织梦去掉上传图片的水印
时间:2020-12-24
-
DedeCMS Error:Tag disabled:"p
时间:2020-12-24
-
DEDECMS图文分离存放在另一
时间:2020-12-24
热门文章
-
DedeCMS站点高级安全策略(Linux篇)
时间:2020-12-16
-
阿里云主机安装织梦系统出现data无写入权
时间:2020-12-17
-
织梦教程:织梦怎么整合Discuz站点
时间:2020-12-14
-
织梦批量删除文章内容数据库里所有超链
时间:2020-12-17
-
织梦dedecms系统UTF8版编辑器中多图发布按
时间:2020-12-16
-
织梦更换UEditor编辑器后栏目内容、单页无
时间:2020-12-17
-
织梦关键词自动添加链接设置方法
时间:2020-12-15
-
如何防止别人盗用你的织梦模板
时间:2020-12-14
-
织梦dedecms熊掌号时间因子改造教程
时间:2020-12-13
-
DedeCms织梦系统后台把某篇文章设置置顶
时间:2020-12-15
