當前位置: > 學(xué)習>正文
織夢(mèng)圖片沒(méi)有后綴,遠程圖片本地化
在使用DEDECMS時(shí),很多時(shí)候從一些網(wǎng)站復制的內容時(shí),其中的圖片,保存時(shí)不能把遠程圖片下載到本地,像新浪博客,網(wǎng)易等一些大型網(wǎng)站圖片有做防盜鏈處理,圖片地址并沒(méi)有后輟名!因此在使用dedecms默認的下載遠程功能沒(méi)辦法實(shí)現!
在發(fā)現了此問(wèn)題,分析了下,發(fā)現其實(shí)要解決很簡(jiǎn)單,發(fā)現DEDECMS在檢索遠程圖片時(shí)的正則加了圖片格式匹配;
DEDECMS匹配的正則:
而向新浪博客圖片:http://static2.photo.sina.com.cn/orignal/54a625bft848ec4ffa561&690&690 是沒(méi)有圖片后輟的,所在不能匹配下載了!
找到了問(wèn)題,就知道怎么改了!
找到DEDECMS文件 /dede/inc/inc_archives_functions.php,找到函數
//獲得文章body里的外部資源
function GetCurContent($body,&$litpic,$autolitpic)
//獲得文章body里的外部資源
function GetCurContent($body)
大概在11行和89行把匹配遠程圖片的規則
改成
就OK了
當然DEDECMS這樣做是有它道理的,這樣只能匹配圖片,不會(huì )匹配到像JS,FLASH文件,但這樣也有很多不方便,因為我們在編輯內容時(shí),就能識別這是一個(gè)什么文件了!
在發(fā)現了此問(wèn)題,分析了下,發(fā)現其實(shí)要解決很簡(jiǎn)單,發(fā)現DEDECMS在檢索遠程圖片時(shí)的正則加了圖片格式匹配;
DEDECMS匹配的正則:
preg_match_all(
"/(src)=[\"|'| ]{0,}(http:\/\/([^>]*)\.(gif|jpg|png))/isU",$body,$img_array);
而向新浪博客圖片:http://static2.photo.sina.com.cn/orignal/54a625bft848ec4ffa561&690&690 是沒(méi)有圖片后輟的,所在不能匹配下載了!
找到了問(wèn)題,就知道怎么改了!
找到DEDECMS文件 /dede/inc/inc_archives_functions.php,找到函數
//獲得文章body里的外部資源
function GetCurContent($body,&$litpic,$autolitpic)
//獲得文章body里的外部資源
function GetCurContent($body)
大概在11行和89行把匹配遠程圖片的規則
preg_match_all(
"/(src)=[\"|'| ]{0,}(http:\/\/([^>]*)\.(gif|jpg|png))/isU"
,$body,$img_array);
改成
preg_match_all(
"/src=[\"|'|\s]{0,}(http:\/\/([^>]*))(\"|'|\s)/isU"
,$body,$img_array);
就OK了
當然DEDECMS這樣做是有它道理的,這樣只能匹配圖片,不會(huì )匹配到像JS,FLASH文件,但這樣也有很多不方便,因為我們在編輯內容時(shí),就能識別這是一個(gè)什么文件了!
版權聲明: 本站僅提供信息存儲空間服務(wù),旨在傳遞更多信息,不擁有所有權,不承擔相關(guān)法律責任,不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責。如因作品內容、版權和其它問(wèn)題需要同本網(wǎng)聯(lián)系的,請發(fā)送郵件至 舉報,一經(jīng)查實(shí),本站將立刻刪除。