问问题
209 次
2 回答
0
我可以向您建议两种方法,但这取决于:每个<a>
标签是否都有 href 并带有两个""
包围它们,或者它只是一个带有 ssLINK
认为
output = []
input_text = '<a href=""ssLINK/prof-steve-jackson"">Professor Steve Jackson</a>'
1)如果标签只有带a
href ,那么就做""
ssLink
Nokogiri::HTML(input_text).css('a[href=""]').each do |nokogiri_obj|
output << nokogiri_obj.text
end
# => output = ["Professor Steve Jackson"]
2)如果所有a
标签都有href,""
那么你可以试试这个
nokogiri_a_tag_obj = Nokogiri::HTML(input_text).css('a[href=""]')
nokogiri_a_tag_obj.each do |nokogiri_obj|
output << nokogiri_obj.text if nokogiri_obj.has_attribute?('sslink')
end
# => output = ["Professor Steve Jackson"]
如果使用第二种方法
input_text = '<a href=""ssLINK/prof-steve-jackson"">Professor Steve Jackson</a> Some other Text<a href=""abcd"">Second link</a>'
那么输出也将是["Professor Steve Jackson"]
于 2013-11-13T14:37:50.477 回答
0
您的内容不是 XML,因此任何使用 XML 工具(如 XSLT 和 XPath)解决问题的尝试都注定要失败。使用正则表达式方法,例如 awk 或 Perl。但是,对我来说如何匹配并不是很明显
<a href="" sometext"">
没有也匹配
<a href="" sometext="">
所以我们需要更多地了解您尝试解析的这种语法。
于 2013-11-13T16:12:45.057 回答