我想提取一些表单标签的值。我在运行时不知道该值。
我发现了几个接近的线程,但它们都专注于 HTML 解析和抓取。
我已经有了需要值的 HTML 源代码和表单字段的名称。
例子:
<input type="hidden" name="currentRackU" id="currentRackU" value="11">
我可以使用正则表达式来获取 'id="currentRackU" value=' 但我现在需要获取下一个字符,直到结束引号。
这个带nokogiri的单线怎么样?
require 'nokogiri'
s = '<input type="hidden" name="currentRackU" id="currentRackU" value="11">'
Nokogiri::XML.parse(s).root.attributes['id'].value # currentRackU
gem install nokogiri
如果您没有安装 nokogiri ,您可能需要运行。
在从 HTML/XML 文档中提取数据时,我通常使用 gem nokogiri - 它以一种优雅的方式很好地完成了这项工作。
虽然 HTML/XML 确实不应该使用正则表达式进行解析,但这里有一些可以帮助您的东西。它扫描标签并返回属性及其值的哈希:
html = '<input type="hidden" name="currentRackU" id="currentRackU" value="11">'
Hash[html.scan(/(\w+)="(.*?)"/)]
#=> {"type"=>"hidden", "name"=>"currentRackU", "id"=>"currentRackU", "value"=>"11"}