2010-03-20 73 views
1

塊代替我有一個數據庫全文字段看起來像這樣:查找和文本

(paragraph of normal text) 

image:blog/clownboy.jpg 

(another paragraph) 

我想寫爲Rails視圖助手,將採取這些大塊的一個找到像「image:blog/clownboy.jpg」這樣的位,並將其替換爲相應的<img src="blog/clownboy.jpg">(不會打擾周圍的空白),然後再將其輸出給用戶。現在我一直在嘗試一個小時左右,但我對Ruby還是很陌生,正則表達式還是有點超出我的意思。

image: xyz在單獨的行
+3

我很害怕你有一個叫clownboy.jpg的事實。 –

回答

3

全局替換與<img src='xyz'/>

text.gsub!(/^image:(.+)$/) { "<img src='#{$1}'/>" } 
+0

這真的很接近,但它似乎沒有正確處理周圍的空白。如果我的文本字段包含「\ r \ n \ r \ nimage:foobar.jpg \ r \ n \ r \ n」,則此方法會給我「\ r \ n \ r \ n \ n \ r \ n」,這不是一個適當的鏈接。我正在玩的正則表達式,但我不知道該用什麼來代替「(。+)$」 –

+0

將正則表達式更改爲:/^image:(\ S +)/ – amitkaz

+0

這樣做!謝謝! –