0
對於每篇文章,都有一個當前突出顯示的關鍵字列表(用span範圍包裝)。但是,我需要在關鍵字(「at」,「in」,「on」)中允許某些介詞。每篇文章屬於一個訂單,其中包含關鍵字作爲逗號分隔的字符串。突出顯示字符串中的關鍵字,允許「at」,「in」,「on」
例如,如果我有一個像「精品酒店倫敦」這樣的長尾關鍵詞,並且該文章包含「倫敦精品酒店」「我需要突出顯示它作爲關鍵字。
class Article < ActiveRecord::Base
def format_content
words = self.content
# map comma separated keywords into array and remove any whitespace
keywords = self.order.keywords.downcase.split(',').map{ |k| k.strip }
# replace words with keywords wrapped in span
keywords.each do |word|
words = words.gsub(/(#{word})/i, "<span class=\"text-primary\">\\1</span>")
end
words
end
end
的format_content方法是從放映視圖部分用於創建一個文章後,像這樣:
<%= simple_format article.format_content, { class: "content" }, wrapper_tag: "p" %>
這將捕捉前/後單詞,但不是在長尾關鍵字之間的單詞。需要爲「倫敦精品酒店*」工作,而關鍵字是「倫敦精品酒店」 –
,因此它只適用於介於兩個關鍵詞之間的介詞? –
對於那些在關鍵字之間的人(在這種情況下,「關鍵字」可以是幾個字),但是對於不需要介詞的直接匹配也是如此。 –