2011-10-06 29 views
2

我想突出使用突出顯示方法的文本中的每個數字序列。我可以通過一系列數字來實現這一點,但這樣每個數字都會單獨突出顯示。我想強調整個序列。紅寶石TextHelper高亮方法與正則表達式

是否可以在正則表達式中使用突出顯示?我收到以下錯誤:

highlight(text,/\d+/) 

不能轉換正則表達式爲String

感謝

回答

5

遺憾的是沒有!但你可以使用source of the highlight method作爲靈感來編寫你自己的幫手,它完全符合你的需求。

def highlight_digits(text) 
    # Based on ActionView::Helpers::TextHelper#highlight 
    highlighter = '<strong class="highlight">\1</strong>' 
    matcher = /(\d+)(?!(?:[^<]*?)(?:["'])[^<>]*>)/ 
    text.gsub(matcher, highlighter).html_safe 
end 

如果您覺得舒服,您可以向Rails提出一個補丁以包含此功能!

+0

完美,謝謝! – luizbranco