
歡迎訪問全國企業(yè)網(wǎng)站設(shè)計(jì)NO.1網(wǎng)站開發(fā)商平臺 | 付款方式 |
POST TIME:2020-09-05
在使用DEDECMS時(shí),很多時(shí)候從一些網(wǎng)站復(fù)制的內(nèi)容時(shí),其中的圖片,保存時(shí)不能把遠(yuǎn)程圖片下載到本地,像新浪博客,網(wǎng)易等一些大型網(wǎng)站圖片有做防盜鏈處理,圖片地址并沒有后輟名!因此在使用dedecms默認(rèn)的下載遠(yuǎn)程功能沒辦法實(shí)現(xiàn)!
在發(fā)現(xiàn)了此問題,分析了下,發(fā)現(xiàn)其實(shí)要解決很簡單,發(fā)現(xiàn)DEDECMS在檢索遠(yuǎn)程圖片時(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 是沒有圖片后輟的,所在不能匹配下載了!
找到了問題,就知道怎么改了!
找到DEDECMS文件 /dede/inc/inc_archives_functions.php,找到函數(shù)
/獲得文章body里的外部資源
function GetCurContent($body,&$litpic,$autolitpic)
//獲得文章body里的外部資源
function GetCurContent($body)
大概在11行和89行把匹配遠(yuǎn)程圖片的規(guī)則
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了
當(dāng)然DEDECMS這樣做是有它道理的,這樣只能匹配圖片,不會匹配到像JS,FLASH文件,但這樣也有很多不方便,因?yàn)槲覀冊诰庉媰?nèi)容時(shí),就能識別這是一個(gè)什么文件了!
巨號網(wǎng)網(wǎng)站開發(fā)部為全國企業(yè)提供網(wǎng)頁設(shè)計(jì)和專業(yè)的公司網(wǎng)站制作等相關(guān)建站服務(wù),并提供24小時(shí)企業(yè)網(wǎng)站設(shè)計(jì)咨詢!
關(guān)于我們 建站知識 榮譽(yù)資質(zhì)網(wǎng)站地圖