Currnetly我在做
words = []
words << "philip morris"
words << "Philip morris"
words << "philip Morris"
words << "Philip Morris"
for word in words
doc.search("[text()*='#{word}']")
end
当我使用hpricot时,我发现在宝石中将结果放在哪里,所以我可以将我的所有搜索保持小写,但是nokogiri很难找到甚至可以做到的地方。有人知道这样做的方法吗? 非常感谢你的时间
答案 0 :(得分:3)
lower-case
XPath函数不可用,但您可以使用translate
XPath 1.0函数将文本转换为小写,例如对于英文字母:
translate(text(),'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')
我似乎无法将此与*=
运算符结合使用,但您可以使用contains
来进行子字符串搜索,从而完成所有操作:
doc.search("//*[contains(translate(text(),'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'),'philip morris')]")