添加文章时 添加优酷视频 :<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==)
{
$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[]);
$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, -, );
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(, ));
$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','','{$imginfos[0]}','$imginfos[1]','','$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;
}

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

  1. wordpress如何利用插件添加优酷土豆等视频到自己的博客上

    wordpress有时候需要添加优酷.土豆等网站的视频到自己的博客上,传统的分享方法不能符合电脑端和手机端屏幕大小的需求,又比较繁琐,怎样利用插件的方法进行添加呢,本视频向你介绍一款这样的插件——Sm ...

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

    昨天和今天上午,优酷站点视频全然没有办法播放,可是我是获取的优酷视频的视频原地址,所以app还是能够正常播放而且有下载功能.今天下午開始,优酷视频网页能够訪问了,可是视频原地址却不在了.我全部的app ...

  3. 破解优酷VIP视频

    目录 一 破解优酷VIP视频 一 破解优酷VIP视频 import requests import re import json HEADERS = { 'user-agent': 'Mozilla/ ...

  4. DEDE后台添加新变量出现:Request var not allow!的解决办法 相关案例演

    论坛上很多人都反馈说在后台添加新变量的时候会出现 "Request var not allow!" 的BUG错误,本文主要就是介绍如何去解决这个问题!下面看具体操纵:在DEDE根目 ...

  5. .net下载优酷1080P视频

    事实上流程大致是:调用飞驴下载API+js解析+文件下载+调用flvBind合并这样一个流程而已_(:з」∠)_ 貌似是不用太多的说明..嗯.. 起先的需求是从优酷上下载一些视频 只是网络上的各种软件 ...

  6. 爬虫(三)解析js,抓取优酷免费视频的真实播放地址

    工具:google浏览器 + fiddler抓包工具 说明:这里不贴代码,[只讲思路!!!] 原始url = https://v.youku.com/v_show/id_XMzIwNjgyMDgwOA ...

  7. 在html里网页中嵌入优酷的视频

    <html> <embed src="http://player.youku.com/player.php/sid/XMjAzOTk4NjI4/v.swf" qu ...

  8. ios UIWebView 播放优酷土豆视频

    将以下的代码嵌套在html里.然后webView载入这个网页.或这段html码,即可了,无须要使用像网上说的html5去兼容 watermark/2/text/aHR0cDovL2Jsb2cuY3Nk ...

  9. 获取youku视频下载链接(wireshark抓包分析)

    随便说两句 前两天写了一个python脚本,试图以分析网页源码的方式得到优酷视频的下载地址,结果只得到视频的纯播放地址,下载纯播放地址得到的文件也无法正常播放视频. 这里共享一下播放地址得到的方法(想 ...

随机推荐

  1. MVC controller序列化下拉框给view

    在开发中遇到的小问题,一个下拉框,一个文本域 ,文本域根据下拉框变化: 由于是一次全部取出的值,下拉框变化不想再去取值: 在后台把值先序列化给前台用 controller: List<Lesso ...

  2. 使用Aspose.Cell控件实现Excel高难度报表的生成

    1.使用Aspose.Cell控件实现Excel高难度报表的生成(一) http://www.cnblogs.com/wuhuacong/archive/2011/02/23/1962147.html ...

  3. 显示器分辨率不同,部分winform控件在其他机器上显示不全

    在开发机器上效果如下: 而到其他电脑上效果如下: 解决办法: 将窗体的AutoScaleMode属性设置为None,尝试一下,应该可以了. 关于AutoScaleMode的属性,可以参考 http:/ ...

  4. 如何修改eclipse的web项目默认浏览器

  5. 08、Spark常用RDD变换

    08.Spark常用RDD变换 8.1 概述 Spark RDD内部提供了很多变换操作,可以使用对数据的各种处理.同时,针对KV类型的操作,对应的方法封装在PairRDDFunctions trait ...

  6. 吴超hadoop7天视频教程全集

    吴超hadoop7天视频教程全集 一.初级班全套视频 1.linux使用(3节) 2.伪分布模式安装hadoop(2节) 3.HDFS的体系结构和操作(2节) 4.HDFS的java操作方式(4节) ...

  7. CMAKE 安装

    下载 解压  https://cmake.org/download/ https://cmake.org/files/v3.7/cmake-3.7.1.tar.gz yum install gcc - ...

  8. *521. Longest Uncommon Subsequence I (bit manipulation 2^n)

    Given a group of two strings, you need to find the longest uncommon subsequence of this group of two ...

  9. IOS xcode 离线帮助文档安装和安装路径

    将想要安装的xcode 帮助文档 版本,将 ‘帮助文档包’ 放入‘xcode 帮助文档安装路径’.再将Xcode软件重启. xcode 帮助文档安装路径: 在‘应用程序’->Xcode软件 右击 ...

  10. 基于Mybatis的Dao层开发

    转自:https://www.cnblogs.com/rodge-run/p/6528398.html 基于Mybatis的Dao层开发 SqlSessionFactoryBuilder用于创建 Sq ...