dedecms远程图片本地化https链接图片无法本地化的解决办法
最近有朋友遇到发布文章时候文章里面带https的站外图片无法本地化,以下是解决办法:
找到 dede//inc/inc_archives_functions.php文件里面GetCurContent($body)这个函数,里面
preg_match_all("/src=[\"|'|\s]{0,}(http:\/\/([^>]*)\.(gif|jpg|png))/isU",$body,$img_array);
$img_array = array_unique($img_array[1]);
这一段改为:
preg_match_all("/src=[\"|'|\s]{0,}(http:\/\/([^>]*)\.(gif|jpg|png))/isU",$body,$img_array);
preg_match_all("/src=[\"|'|\s]{0,}(https:\/\/([^>]*)\.(gif|jpg|png))/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的远程图片也本地化了
找到 dede//inc/inc_archives_functions.php文件里面GetCurContent($body)这个函数,里面
preg_match_all("/src=[\"|'|\s]{0,}(http:\/\/([^>]*)\.(gif|jpg|png))/isU",$body,$img_array);
$img_array = array_unique($img_array[1]);
这一段改为:
preg_match_all("/src=[\"|'|\s]{0,}(http:\/\/([^>]*)\.(gif|jpg|png))/isU",$body,$img_array);
preg_match_all("/src=[\"|'|\s]{0,}(https:\/\/([^>]*)\.(gif|jpg|png))/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的远程图片也本地化了
顶(3)
踩(0)
- 最新评论