[英]how to use html_safe in meta tag og:description content in ruby on rails
[英]How to get content value out of meta tag in ruby on rails?
我的視圖HTML中有此meta標簽列表(頁面加載后)。 標簽是動態生成的,
@meta = "\n <meta content=\content1\">\n <meta content=\content2\">\n <meta content='content2\">\n ....... <meta content=\"2019/01/10 09:59:59 +0900\" name=\"r_end\">\n \n"
我想獲取內部content
的值2019/01/10 09:59:59 +0900
即<meta content=\\"2019/01/10 09:59:59 +0900\\" name=\\"r_end\\">
。 有沒有一種方法可以從meta標記中獲取內容的價值。
給定一個@meta
變量,其中包含一些HTML代碼段作為字符串:
@meta = <<-HTML
<meta name="foo" content="content1">
<meta name="bar" content="content2">
<meta content="2019/01/10 09:59:59 +0900" name="r_end">
HTML
您可以使用Nokogiri對其進行解析:
require 'nokogiri'
doc = Nokogiri::HTML::DocumentFragment.parse(@meta)
doc.at_css('meta[name="r_end"]')['content']
#=> "2019/01/10 09:59:59 +0900"
如何使用簡單的正則表達式使用String#scan
捕獲值。
僅在metatag名稱不變的情況下才有效
@meta = "\n <meta content=\content1\">\n <meta content=\content2\">\n <meta content='content2\">\n ....... <meta content=\"2019/01/10 09:59:59 +0900\" name=\"r_end\">\n \n"
@meta.scan(/content=\"(.*)\" name=\"r_end\"/)
#=> [["2019/01/10 09:59:59 +0900"]]
說明:
上面的代碼將使用name="r_end"
捕獲content
的值
如果您認為可能還有其他name="r_end"
HTML元素,則可能需要在正則表達式中添加其他標識符
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.