2013-01-14 40 views
3

我一直在網上搜索了幾天,但一直沒能找到我需要的東西。從css回溯所有圖像網址

我想要的是使用JavaScript正則表達式匹配CSS文件中的所有背景圖像網址。

例如:

background:url('images/sprite-global.png'); // should return 'images/sprite-global.png' 
background-image: url('images/sprite-global.png'); should also return 'images/sprite-global.png' 
background:url('images/sprite-global.png');// should return 'images/sprite-global.png' even if we have spaces. 
background:url('http://mysite.com/css/images/sprite-global.png'); // should return 'http://mysite.com/css/images/sprite-global.png' 

但是,它不應該返回任何內容:

{ 
display:none; 
} 

這看起來很容易,但到目前爲止,最好的結果,我擁有的是:網址(「圖像/ sprite- global.png')使用:

/url\(([^\)]+\)/i 

有誰知道我可以使用哪個表達式?

感謝

雨果

回答

1

http://jsfiddle.net/2V5Gg/2/

/url\((.*?)\)/ 

我不完全相信你的需求是什麼,因爲url也可以使用雙引號或不帶引號或如果你會擔心包含字符串「url」或圓括號的路徑,但這至少適用於您的示例。與其嘗試獲得精確的正則表達式來處理修剪,僅僅使用$.trim更容易。

+0

嗨,謝謝你的回答。不幸的是,該表達式返回'url()'。我需要的只是。 –

+0

@HugoChan它不應該..它取決於你如何檢索匹配。你看着我的jsfiddle嗎? –

+0

對不起夥伴,jsfiddle看起來是空的 –