2012-04-03 17 views
3

我需要運行一個腳本,將改寫一個HTML文件的文件夾路徑,會有很多的比賽,並替換字符串需要計算,像是否有可以在每次匹配時運行方法的ruby的gsub替代方法?

"Html string".gsub(/images/([a-zA-Z0-9\-]+)/, "/images/#{replacement_method($1)}/") 

唯一的問題是GSUB,至少據我所知,只會運行一次replacement_method(),並且每次都需要它運行,因爲對文件夾字符串發生期望的替換字符串更改。

有沒有辦法讓這個工作與gsub?像WordPress的替換功能? 任何其他現實的方法?

回答

11

你必須使用一個塊:

"Html string".gsub(/images/(folder)/) { |match| "/images/#{replacement_method(match)}/" } 

塊將被要求在字符串中的每場比賽。

+0

謝謝!這節省了我的一天! – Saifis 2012-04-03 16:50:39

相關問題