dede后台添加优酷等视频iframe链接时被替换成了图片

添加文章时 添加优酷视频 :<iframe height=498 width=510 src=‘http://player.youku.com/embed/XNDAzNTAzODE4OA==‘ frameborder=0 ‘allowfullscreen‘></iframe>

提交后被替换成

<iframe frameborder="0" height="498" src="/uploads/allimg/190128/1U9241554-1.jpg" width="510"></iframe>

经测试,发现问题出在保存之前对body内容的处理上

//远程图片本地化

if($remote==1)
{
    $body = GetCurContent($body);   //dede/inc/inc_archives_functions.php 644行
}

把函数GetCurContent做如下修改可暂时解决(未侧式是否会引起其他问题,应该把所有的图片格式都枚举出来)

/**
 * 获得文章body里的外部资源
 *
 * @access    public
 * @param     string  $body  文档内容
 * @return    string
 */
function GetCurContent($body)
{
    global $cfg_multi_site,$cfg_basehost,$cfg_basedir,$cfg_image_dir,$arcID,$cuserLogin,$dsql;
    $cfg_uploaddir = $cfg_image_dir;
    $htd = new DedeHttpDown();
    $basehost = "http://".$_SERVER["HTTP_HOST"];
    $img_array = array();
    preg_match_all("/src=[\"|‘|\s]([^\"|^\‘|^\s]*?)/isU",$body,$img_array);

    $img_array = array_unique($img_array[1]);
    $imgUrl = $cfg_uploaddir.‘/‘.MyDate("ymd", time());
    $imgPath = $cfg_basedir.$imgUrl;
    if(!is_dir($imgPath.‘/‘))
    {
        MkdirAll($imgPath, $GLOBALS[‘cfg_dir_purview‘]);
        CloseFtp();
    }
    $milliSecond = MyDate(‘His‘,time());
    foreach($img_array as $key=>$value)
    {
        if(preg_match("#".$basehost."#i", $value))
        {
            continue;
        }
        if($cfg_basehost != $basehost && preg_match("#".$cfg_basehost."#i", $value))
        {
            continue;
        }
        if(!preg_match("#^(http|https):\/\/#i", $value))
        {
            continue;
        }
        $htd->OpenUrl($value);

        $itype = $htd->GetHead("content-type");
        $itype = substr($value, -4, 4);
        if(!preg_match("#\.(jpg|gif|png)#i", $itype))
        {
            if($itype==‘image/gif‘)
            {
                $itype = ".gif";
            }
            else if($itype==‘image/png‘)
            {
                $itype = ".png";
            }else if($itype==‘image/jpg‘){  //不知道jpeg格式的是否一样,如果不一样还得增加jpeg判断
                $itype = ‘.jpg‘;
            }
            else
            {
                continue;  //原函数未处理没有后缀名的情况,应该在这里判断视频或者。。。。。。,这样写将不再解析除了 gif png jpg 以外的图片格式,如 bmp
            }
        }
        $milliSecondN = dd2char($milliSecond.mt_rand(1000, 8000));
        $value = trim($value);
        $rndFileName = $imgPath.‘/‘.$milliSecondN.‘-‘.$key.$itype;
        $fileurl = $imgUrl.‘/‘.$milliSecondN.‘-‘.$key.$itype;

        $rs = $htd->SaveToBin($rndFileName);
        if($rs)
        {
            $info = ‘‘;
            $imginfos = GetImageSize($rndFileName, $info);
            $fsize = filesize($rndFileName);
            //保存图片附件信息
            $inquery = "INSERT INTO `#@__uploads`(arcid,title,url,mediatype,width,height,playtime,filesize,uptime,mid)
            VALUES (‘{$arcID}‘,‘$rndFileName‘,‘$fileurl‘,‘1‘,‘{$imginfos[0]}‘,‘$imginfos[1]‘,‘0‘,‘$fsize‘,‘".time()."‘,‘".$cuserLogin->getUserID()."‘); ";
            $dsql->ExecuteNoneQuery($inquery);
            $fid = $dsql->GetLastID();
            AddMyAddon($fid, $fileurl);
            if($cfg_multi_site == ‘Y‘)
            {
                $fileurl = $cfg_basehost.$fileurl;
            }
            $body = str_replace($value, $fileurl, $body);
            @WaterImg($rndFileName, ‘down‘);
        }
    }
    $htd->Close();
    return $body;
}

原文地址:https://www.cnblogs.com/djiz/p/10331485.html

时间: 2024-11-01 10:36:04

dede后台添加优酷等视频iframe链接时被替换成了图片的相关文章

网页添加优酷视频

<embed style="height:300px; width:385px;" src="http://player.youku.com/player.php/Type/Folder/Fid/4152375/Ob/1/Pt/0/sid/XMTQ5MDk0NzI4/v.swf" quality="high" align="middle" mode="transparent" type="a

优酷真实视频地址解析2015-11-24

11月24日起优酷视频破解算法又发生了变化,相比以前几个月改一次,这个算法维持了1年多,也算是蛮良心的,23333. 今早起来发现优酷的视频都播不了了,一查究竟,原来是算法中的一步又改了.目前优酷视频源算法基本还是沿用3shi和这位大大的思路,请详细阅读<优酷真实视频地址解析——2014年10月7日> 当然,到2015年11月24日,算法中第二步“获取视频元信息”的请求API: http://v.youku.com/player/getPlayList/VideoIDS/{vid}/Pf/4/

手动抓取爱奇艺和优酷等视频网站的视频

今天就给大家讲讲怎么手动抓取爱奇艺和优酷等视频网站的视频该方法适用于很多视频网站.因为有的网站不支持我们用一些软件比如硕鼠和维棠等的解析下载,所以我就找到了这个方法,本来优酷之前是可以的,不过现在优酷还是不支持硕鼠和维棠的解析了.这两个网页是原帖的地址,其实我之前知道这个方法,不过这个人提供了一个软件比较好用,我把他录制的视频提取出来了,下面看看吧. 其实原理都是一样,这些视频网站为了让视频更快的缓存,当然也有很多其他原因,把视频分成了很多段,所以我们只需要单独下载好每一段视频,然后把这些视频合

优酷m3u8视频源地址获取失败

昨天和今天上午,优酷网站视频完全没有办法播放,但是我是获取的优酷视频的视频原地址,所以app还是可以正常播放并且有下载功能.今天下午开始,优酷视频网页可以访问了,但是视频原地址却不在了.我所有的app的视频目前都是播放不了了.求办法,可以获取优酷目前视频原地址的办法.不是之前的那视频ID就是可以了,希望得到有用的答案,谢谢, 另外告诉将要做优酷视频下载的伙伴们,目前网上的教程全部失效,目前我还木有找到合适的办法,找到了会继续公布, 优酷m3u8视频源地址获取失败

ios UIWebView 播放优酷土豆视频

将下面的代码嵌套在html里,然后webView加载这个网页.或这段html码,就行了,无需要使用像网上说的html5去兼容 ios UIWebView 播放优酷土豆视频

优酷的视频地址获取接口

今天分享的就是优酷的视频地址获取接口! GET一下这个地址就会出现详细信息,包含SWFb播放地址,视频封面等信息 地址:http://cgi.connect.qq.com/qqconn ... Q?xmlout=1&url=http://v.youku.com/v_show/id_XMTM3MzUxNTY=.html?f=1095101 其中红色部分为要解析的视频地址!注意访问这个地址要使用QQ登陆的COOKIE(比如登陆QQ空间,微博等都可以的) COOKIE简化为:uin=xxxx; [em

优酷&土豆视频广告屏蔽器 v1.0

本软件用于屏蔽优酷&土豆视频网站广告,先第一步,第二步,再第三步,最后重启浏览器即可,希望大家喜欢!~ https://pan.baidu.com/s/1kUORH8F 优酷&土豆视频广告屏蔽器 v1.0

从手淘搜索到优酷短视频,阿里巴巴是如何在搜索推荐领域下应用深度学习的?

摘要:深度学习是一个既可以处理特征.学习特征又可以实现最后的排序打分的一套整体解决方案,借助深度学习的解决方案,搜索推荐的工作方式将发生巨大的变化.想知道阿里巴巴如何将在搜索推荐领域下应用深度学习技术的吗?想知道手淘和优酷搜索结果的个性化又是如何实现的吗?本文不容错过! 本节视频地址:http://click.aliyun.com/m/48161/ PDF下载:http://click.aliyun.com/m/49207/ 演讲嘉宾简介: 孙修宇(花名:翎翀),阿里巴巴机器智能技术实验室算法专

优酷真实视频地址解析(更新至2016-2-28)

优酷视频的算法在2015年11月24日起至今连续更改了好几个版本,之前发的这篇临时解决方案得到很多响应,非常感谢!现在对这篇文章重新修改,全面规整完整的破解思路(含破解方法)! 对了,这篇文章只是针对m3u8格式的视频. 一.准备工作 所谓工欲善其事必先利其器,做好破解的准备工作会令你事半功倍. 1.首先准备一个Http抓包工具,PC上推荐Fiddler或者Postman,iOS上推荐Surge 2.手备一台iOS测试设备(因为在Safari里优酷视频是确定使用m3u8进行播放的) 二.抓包过程