沃梦达 / IT编程 / CMS教程 / 正文

dedecms织梦复制https链接网站图片无法本地化的解决办法

现在许多网站使用了SSL技术,网站中图片的链接采用https,我们在用dedecms后台的编辑器复制https链接网站的内容,发现图片无法本地化,要怎么操作呢? 第一步: 找到dede/inc/inc_archives_functions.php (注:前边dede目录是您的后台目录) 定位到文件里

现在许多网站使用了SSL技术,网站中图片的链接采用https,我们在用dedecms后台的编辑器复制https链接网站的内容,发现图片无法本地化,要怎么操作呢?
第一步:
找到dede/inc/inc_archives_functions.php (注:前边dede目录是您的后台目录)
定位到文件里面GetCurContent($body)这个函数
将以下代码:
preg_match_all("/src=[\"|’|\s]{0,}(http:\/\/([^>]*)\.(gif|jpg|png|jpeg|bmp))/isU",$body,$img_array);$img_array = array_unique($img_array[1]);
改为: 
preg_match_all("/src=[\"|’|\s]{0,}(http:\/\/([^>]*)\.(gif|jpg|png|jpeg|bmp))/isU",$body,$img_array);
preg_match_all("/src=[\"|’|\s]{0,}(https:\/\/([^>]*)\.(gif|jpg|png|jpeg|bmp))/isU",
$body,$img_array_https);
$img_array = array_unique($img_array[1]);
 $img_array_https = array_unique($img_array_https[1]); 
$img_array=array_merge_recursive($img_array,$img_array_https);
第二步:
再找到:
if(!preg_match("#^http:\/\/#i", $value)){continue;}
改为: 
if(!preg_match("#^http:\/\/#i", $value)&&!preg_match("#^https:\/\/#i", $value)){continue;}

保存文件并上传,这样https的远程图片本地化的问题就解决了!

PS:这段代码一共有两处,修改时候一定要找到对应的函数再修改!
 

本文标题为:dedecms织梦复制https链接网站图片无法本地化的解决办法