关键词文章采集器(用扩展函数处理采集到的原始数据/--预定)
优采云 发布时间: 2021-09-11 02:03关键词文章采集器(用扩展函数处理采集到的原始数据/--预定)
以下为引用内容:
//---------------------------------
//使用扩展函数处理来自采集的原创数据
//-------------------------------
函数 RunPHP($fvalue,$phpcode)
{
$DedeMeValue = $fvalue;
$phpcode = preg_replace("/'@me'|\"@me\"|@me/isU",'$DedeMeValue',$phpcode);
if(eregi('@body',$phpcode)){
$DedeBodyValue = $this->tmpHtml;
$phpcode = preg_replace("/'@body'|\"@body\"|@body/isU",'$DedeBodyValue',$phpcode);
}
if(eregi('@litpic',$phpcode)){
$DedeLitPicValue = $this->breImage;
$phpcode = preg_replace("/'@litpic'|\"@litpic\"|@litpic/isU",'$DedeLitPicValue',$phpcode);
}
@eval($phpcode.";");
返回 $DedeMeValue;
}
这里定义了几个默认的预定变量
现在我们要添加一个@url
所以最后一段会改为:
以下为引用内容:
函数 RunPHP($fvalue,$phpcode, $dourl=false)
{
$DedeMeValue = $fvalue;
$phpcode = preg_replace("/'@me'|\"@me\"|@me/isU",'$DedeMeValue',$phpcode);
if(eregi('@body',$phpcode)){
$DedeBodyValue = $this->tmpHtml;
$phpcode = preg_replace("/'@body'|\"@body\"|@body/isU",'$DedeBodyValue',$phpcode);
}
if(eregi('@litpic',$phpcode)){
$DedeLitPicValue = $this->breImage;
$phpcode = preg_replace("/'@litpic'|\"@litpic\"|@litpic/isU",'$DedeLitPicValue',$phpcode);
}
if(eregi('@url',$phpcode)){
$DedeUrlValue = $dourl;
$phpcode = preg_replace("/'@url'|\"@url\"|@url/isU",'$DedeUrlValue',$phpcode);
}
@eval($phpcode.";");
返回 $DedeMeValue;
}
#p#关键字说明:技巧采集" phpcode内容文章a@me@litpic
注意,为了给@url传递一个值,我们在函数参数上加了一个参数$dourl=false,所以我们需要在这个函数调用的地方改一下($dourl=false表示这个参数不是必须的,一般调用不需要这个参数)
找到以下代码:
以下为引用内容:
//用户自己处理内容的接口
if($sarr["function"]!=""){
if(!eregi('@litpic',$sarr["function"])){
$v = $this->RunPHP($v,$sarr["function"]);
$artitem .= "{dede:field}$v{/dede:field}\r\n";
}其他{
$tmpLtKeys[$k]['v'] = $v;
$tmpLtKeys[$k]['f'] = $sarr["function"];
}
放一个
以下为引用内容:
$v = $this->RunPHP($v,$sarr["function"]);
更改为:
以下为引用内容:
$v = $this->RunPHP($v,$sarr["function"], $dourl);
就是这样,至此源码全部修改完毕。
很容易使用这个新变量@url
比如在文章content的自定义处理接口中写:
以下为引用内容:
@me=@me.'