我在使用空格匹配圖像url時遇到了很多困難。正則表達式將圖像中的空格變爲實體
我需要這個
http://site.com/site.com/files/images/img 2 (5).jpg
到這樣一個div:
.replace(/(http:\/\/([^\s]+\.(jpg|png|gif)))/ig, "<div style=\"background: url($1)\"></div>")
下面是關於該線程: regex matching image url with spaces
現在我決定先進行將空格轉換爲實體,以便上述正則表達式可以工作。
但是我真的有很多困難這樣做。 事情是這樣的:
.replace(/http:\/\/(.*)\/([^\<\>?:;]*?) ([^\<\>?:;]*)(\.(jpe?g|png|gif))/ig, "http://$1/$2%20$3$4")
替換一個空間,可是其餘的仍是空格。
我需要編寫一個正則表達式,將http://和圖像擴展名(png | jpg | gif)之間的所有空格放入%20。
在這一點上,坦率地說不知道是否有可能。任何幫助表示讚賞,謝謝。
試圖Paolo的逃生:
.escape(/http:\/\/(.*)\/([^\<\>?:;]*?) ([^\<\>?:;]*)(\.(jpe?g|png|gif))/)
另一種方式,我可以做到這一點是在PHP中逃脫服務器端,並在PHP我可以用文件名直接一塌糊塗,而無需在正則表達式匹配。
但據我所知,類似htmlentities的東西不適用於空格。這個方向的任何提示都會很棒。
你必須調用轉義的任何字符串你打電話給正則表達式... – 2009-07-02 04:08:20
什麼字符串?我需要匹配(y)圖片網址。 – Mark 2009-07-02 04:35:57
你需要將它與什麼相匹配? – 2009-07-02 05:20:38