2014-01-17 2 views
0
p.content 
=> "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras gravida quis orci sed pellentesque. Nam ullamcorper. Proin eget dapibus tellus. <br /><br /><iframe title=\"title\" src=\"http://www.youtube.com/embed/yt_video_id\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"\"></iframe>" 

Я хотел бы знать, если это возможно проверить, если внутри p.content текста существует или нет в IFRAME YouTube.Проверьте IFrame внутри текста

+0

почему бы не использовать регулярное выражение для проверки '/ iframe /' следует '/ SRC = + YouTube /' –

+2

Я [не буду делать это с регулярным выражением] (http://stackoverflow.com/a/1732454/2936460) ... – SQB

+1

Хмм, как насчет конструктивного комментария, а не просто сказать, что бы вы не сделали? –

ответ

2

Есть не так много всячески манипулировать, я думаю, ; вы должны разобрать строку и проверить, если проанализированный объект, что вы ожидаете, например:.

require 'nokogiri' 

fragment = Nokogiri::HTML.fragment(p.content) 
fragment.css('iframe[src*="www.youtube.com"]').any? 
# => true 

fragment.css('iframe[src*="www.google.com"]').any? 
# => false 
+0

Спасибо, это лучший ответ! – hyperrjas

0

Вы можете проверить, если строка имеет подстроку, содержащую текст, используя метод include?:

p.content.include? "iframe" 

здесь находятся документы для include?, http://ruby-doc.org/core-2.1.0/String.html#method-i-include-3F

+0

Спасибо, но мне нужно знать, является ли iftube iframe! – hyperrjas

Смежные вопросы