对于http的远程图片本地化,dedecms能很好解决,但是碰到https的就无法本地化了,以下是解决办法:
找到 dede//inc/inc_archives_functions.php文件里面GetCurContent($body)这个函数
preg_match_all(“/(src)=[\”|’| ]{0,}([^>]*\.(gif|jpg|bmp|png))/isU”,$body,$img_array);
$img_array = array_unique($img_array[2]);
这一段改为:
preg_match_all(“/(src)=[\”|’| ]{0,}([^>]*\.(gif|jpg|bmp|png))/isU”,$body,$img_array);
preg_match_all(“/(src)=[\”|’| ]{0,}([^>]*\.(gif|jpg|bmp|png))/isU”,$body,$img_array_https);
$img_array = array_unique($img_array[2]);
$img_array_https = array_unique($img_array_https[2]);
$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了,可能版本不一样,我的是dedecms5.7,你可以先改前面的那段代码试试,不行,再改后面那一段代码。
原创文章,作者:五华资讯,如若转载,请注明出处:http://www.imsmn.com/keji/1965.html