Nokogiri'de özel bir CSS sözde sınıfı tanımlamaya çalışıyordum ve beklenmedik karakterlerle bazı sorunlara rastlıyordum.Nokogiri'deki özel bir css sözde sınıf argümanındaki tırnaklardan nasıl kurtulabilirim?
Örneğini Node belgelerinde aldım ve gereksinimlerim için değiştirmeye çalıştım. Böyle node.Text değere sahip bir regex eşleştirmek istedik:
node.css('script:regex("[\"\']([^/s]+)[\"\']")', Class.new {
def regex node_set, regex
node_set.find_all { |node| node.text =~ /#{regex}/ }
end
}.new)
sorun Düğüm # css yalnızca bir dize argümanı kabul olmasıdır. #regex temel olarak bir yöntem çağrısıdır ve argümanı da bir dizedir. Bu kodu çalıştırdığınızda, şöyle bir şey olsun: denedim
Nokogiri::CSS::SyntaxError (unexpected '\"' after ''(?i-mx:[\'')
tek/çift tırnak kaçan, ama hala bu veya beklenmedik olsun '['. Tek/çift tırnakları özel css yöntem argümanına nasıl aktarabilirim?
Bu sırada yaptığım şey sadece "komut dosyası" ile eşleşmesi ve ardından düğümlü bir eşleştirici ile düğüm üzerinde dönmekti. Özel bir sözde css sınıfı kullanmak, daha kolay yeniden kullanılacağı için daha kullanışlı olacaktır.