Проверьте, находится ли iframe внутри текста

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.

  • 0
    почему бы не использовать регулярное выражение для проверки /iframe/ а затем /src=.+youtube/
Показать ещё 2 комментария
Теги:

2 ответа

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
    Спасибо, это лучший ответ!
0

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

p.content.include? "iframe"  

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

  • 0
    Спасибо, но мне нужно знать, является ли iframe youtube!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню