• 注册
    • 总打赏排行
    • 今日收益排行

    暂没有数据

  • 唯一
    唯一
    他太懒了,什么都没有写
  • 查看作者
  • 修复DEDECMS5.5采集功能的一些bug

    修复1:将开始标签和结束标签以在网页源码中第一次出现的位置为准

    修改文件\\include\\dedecollection.class.php

    在成员函数GetHtmlArea中的

    $posend = @strpos($html,$areaRules[1],$posstart);

    语句前增加语句:

    $posstart=$posstart+strlen($areaRules[0]);

    将:

    return substr($html,$posstart+strlen($areaRules[0]),$posend-$posstart-strlen($areaRules[0]));

    替换为:

    return substr($html,$posstart,$posend-$posstart);

    修复2:下载图片时对图片的扩展名判断错误

    相同文件

    eregi("\\.gif",$v)

    替换为

    eregi("\\.gif$",$url)

    eregi("\\.png",$v)

    替换为

    eregi("\\.png$",$url)

    修复3:采集软件地址的正则表达式不准确

    \\include\\dedecollection.func.php

    将TurnLinkTag函数中

    preg_match_all("/<a(?:.*)href=['\\"](.+?)['\\"]([^>]+?)>(.+?)<\\/a>/is",$body,$match);

    换为:

    preg_match_all("/<a(?:[^\\>]+?)href\\\\s*=\\\\s*[\\'\\"]?([^\\\\s\\>\\"\\']+)([^\\>]+?)>(.+?)<\\/a>/is",$body,$match);

    修复4:采集图片的正则表达式不准确

    相同文件

    preg_match_all('/src=[\\'"](.+?)[\\'"]/is',$body,$match);

    $ttx = '';

    if(is_array($match[1]) && count($match[1])>0)

    {

    for($i=0;isset($match[1][$i]);$i++)

    {

    $ttx .= "{dede:img text='' }".$match[1][$i]." {/dede:img}"."\\r\\n";

    }

    }

    改为

    $patten = "/<\\\\s*img\\\\s.*?src\\\\s*=\\\\s*([\\"\\\\'])?(?(1)(.*?)\\\\1|([^\\\\s\\\\>\\"\\\\']+))/isx";

    preg_match_all( $patten, $body, $images );

    $returnArray1 = $images[2];

    $returnArray2 = $images[3];

    foreach ( $returnArray1 as $key => $value )

    {

    if ( $value )

    {

    $ttx .= "{dede:img ddimg='$litpicname' text='图 ".($key+1)."'}".$value."{/dede:img}"."\\r\\n";

    }

    else

    {

    $ttx .= "{dede:img ddimg='$litpicname' text='图 ".($key+1)."'}".$returnArray2[$key]."{/dede:img}"."\\r\\n";

    }

  • 0
  • 0
  • 0
  • 79
  • 请登录之后再进行评论

    登录
  • 做任务
  • 实时动态
  • 偏好设置
  • 返回顶部
  • 单栏布局 侧栏位置: