2 回答

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超6個(gè)贊
你不能用正則直接替換,而是應(yīng)該將這些原路徑先提取出來,然后算出其絕對(duì)路徑,再去掉host,然后再和你的新路徑合并。
比如 images/new1.jpg,你的程序在打開這個(gè) a.htm 文件時(shí)是知道其在 Guid目錄下的,那么你用 Uri 這個(gè)類就可以通過輸入當(dāng)前Uri 和 相對(duì)路徑得到絕對(duì)路徑是 http://oldhost/Guid/image/new1.jpg.
然后 再用 Uri 這個(gè)類獲取其相對(duì)路徑 Guid/image/new1.jpg 然后再和 新的host 如 localhost合并就可以了。
../news/images/img2.jpg 也是同理,絕對(duì)路徑的出來是 http://oldhost/news/image/img2.jpg
再合并后就是 http://localhost/news/image/img2.jpg

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊
其實(shí)我覺得你可以考慮重構(gòu)一下程序:如果有時(shí)間和必要的話
如果圖片的src都是寫死到文件中的,那么很可惜,你要一個(gè)個(gè)查找替換了,還好我們有正則表達(dá)式可以做這個(gè),不過工作量估計(jì)依然不小,而且沒有辦法保證完全正確
如果可以重構(gòu),一個(gè)小技巧,所以靜態(tài)資源,比如圖片腳本樣式之類,從一開始就設(shè)計(jì)為可分離,比如一個(gè)圖片應(yīng)該是這個(gè)樣式滴:
<img src="<%=ResourcesURL%>/news/new1.jpg" alt="new1" />
這個(gè)ResourcesURL可以放到web.config里也可以放到數(shù)據(jù)庫(kù)里,隨便哪里都可以,是一個(gè)可配置的字符串,這樣當(dāng)你把圖片分離出去的時(shí)候就容易了,尤其當(dāng)你想把圖片文件放到單獨(dú)的二級(jí)域名下的時(shí)候(放到單獨(dú)二級(jí)域名可以加速瀏覽器加載速度,可以平衡服務(wù)器IO等等,好處多多)
- 2 回答
- 0 關(guān)注
- 475 瀏覽
添加回答
舉報(bào)