मैं रूबी पर रूबी के साथ काम कर रहा हूं, क्या sanitize या बराबर विधि का उपयोग करके स्ट्रिंग से html
स्ट्रिप करने का कोई तरीका है और केवल इनपुट टैग पर मूल्य विशेषता के अंदर टेक्स्ट रखें?स्ट्रिंग से स्ट्रिप एचटीएमएल रेल पर रूबी
उत्तर
वहाँ ActionView::Helpers::SanitizeHelper
में एक strip_tags
विधि है:
http://api.rubyonrails.org/classes/ActionView/Helpers/SanitizeHelper.html#method-i-strip_tags
संपादित करें: मूल्य विशेषता के अंदर का पाठ प्राप्त करने के लिए, आप Nokogiri की तरह कुछ एक xpath एक्सप्रेशन के साथ पाने के लिए है कि स्ट्रिंग से बाहर इस्तेमाल कर सकते हैं।
हम मॉडल
ActionView::Base.full_sanitizer.sanitize(html_string)
जो "strip_tags" विधि में कोड है में इस उपयोग करना चाहते हैं
यह लेकिन mdoel से ActionView की चर्चा करते हुए काम करता है अजीब है। अधिक स्पष्ट रूप से आप 'html' sanitizer 'की आवश्यकता हो सकती है और' HTML :: FullSanitizer.new' के साथ अपने स्वयं के sanitizer को तत्काल कर सकते हैं। –
@nhaldimann, 'एचटीएमएल/sanitizer' की आवश्यकता है 'त्रुटि बढ़ाना है, इसलिए मुझे उपयोग करना होगा:' रेल :: एचटीएमएल :: FullSanitizer.new' (http://edgeapi.rubyonrails.org/classes/HTML/FullSanitizer.html# विधि-i-sanitize) –
हाँ, यह कहते हैं: sanitize(html_string, :tags=>[])
ActionView::Base.full_sanitizer.sanitize(html_string)
टैग की व्हाइट सूची और गुणों को
ActionView::Base.full_sanitizer.sanitize(html_string, :tags => %w(img br p), :attributes => %w(src style))
के रूप में निर्दिष्ट किया जा सकता है
उपरोक्त कथन टैग की अनुमति देता है: img, br और p और विशेषताएँ: src और style।
इस बारे में कैसे?
white_list_sanitizer = Rails::Html::WhiteListSanitizer.new
WHITELIST = ['p','b','h1','h2','h3','h4','h5','h6','li','ul','ol','small','i','u']
[Your, Models, Here].each do |klass|
klass.all.each do |ob|
klass.attribute_names.each do |attrs|
if ob.send(attrs).is_a? String
ob.send("#{attrs}=", white_list_sanitizer.sanitize(ob.send(attrs), tags: WHITELIST, attributes: %w(id style)).gsub(/<p>\s*<\/p>\r\n/im, ''))
ob.save
end
end
end
end
यदि आप श्वेतसूची निर्दिष्ट नहीं करना चाहते हैं तो 'रेल :: एचटीएमएल :: FullSanitizer.new' भी है। – Fredrik
मैं लूफै़ण पुस्तकालय का उपयोग किया है, के रूप में यह दोनों HTML और XML (दोनों दस्तावेजों और स्ट्रिंग टुकड़े) के लिए उपयुक्त है। यह एचटीएमएल sanitizer मणि के पीछे इंजन है। मैं बस उदाहरण के उदाहरण को पेस्ट कर रहा हूं यह दिखाने के लिए कि इसका उपयोग करना कितना आसान है।
unsafe_html = "ohai! <div>div is safe</div> <script>but script is not</script>"
doc = Loofah.fragment(unsafe_html).scrub!(:strip)
doc.to_s # => "ohai! <div>div is safe</div> "
doc.text # => "ohai! div is safe "
- 1. रेल पर रूबी: स्ट्रिंग
- 2. रेल पर स्ट्रिप वेबहूक
- 3. रेल पर रूबी में एचटीएमएल से बचें
- 4. आईओएस: स्ट्रिप <img...> एनएसएसटींग (एक एचटीएमएल स्ट्रिंग) से
- 5. रूबी में स्ट्रिंग से मैं ब्रांड्स को कैसे स्ट्रिप करूं?
- 6. एसएसआरएस 2005 (वीबीएनईटी) 0 स्ट्रिंग से स्ट्रिप एचटीएमएल
- 7. रेल हेल्पर विधि पर रूबी - एचटीएमएल सादा पाठ
- 8. रूबी बनाम रूबी रेल पर
- 9. रेल पर उत्पन्न रूबी
- 10. रेल पर रूबी: आईआरबी
- 11. रेल पर रूबी
- 12. रेल पर रूबी
- 13. रेल पर रूबी
- 14. रेल पर रूबी:: submodels
- 15. एचटीएमएल शोधक रेल पर रूबी के बराबर है?
- 16. रेल पर रूबी:
- 17. रेल पर रूबी अद्वितीय
- 18. रेल पर रूबी - लेआउट
- 19. रेल पर रूबी: पथ
- 20. रेल पर डॉक्सप्लिट रूबी
- 21. रेल 3 स्ट्रिप व्हाइटस्पेस सभी रूपों पर पहले_विधीकरण
- 22. रेल पर रूबी: लेआउट
- 23. रेल मार्गों पर रूबी -
- 24. रेल पर रूबी: मॉडल
- 25. रेल पर रूबी:
- 26. एचटीएमएल 5 रेल पर सर्वर रूबी सर्वर साइड इवेंट्स
- 27. फेसबुक ऐप रेल पर रूबी से आमंत्रित
- 28. आईआईएस पर रेल पर रूबी?
- 29. रेल वैलिडेशन त्रुटियों पर रूबी
- 30. रेल पर रूबी। यूनिकोड मार्ग
स्वच्छ नहीं या बराबर लेकिन 'text.strip' काम करता है – Keon