Я работаю над Ruby on Rails 2.3.8, и у меня есть веб-сайт, на котором пользователи пишут сообщения. У каждого из них есть краткое описание, которое показано на главной странице. Это описание автоматически составлено из оригинала, но оно просто обрезано, поэтому оно может содержать не более 240 символов.
Проблема в том, что описания могут содержать изображения или видео, и я не хочу, чтобы они появлялись при усечении этих строк. Я использую плагин Hpricot
для разбора HTML и следующее регулярное выражение для разбора изображений:
body = Hpricot.parse(html_body)
body = body.to_s.gsub(/<img .*?>/, '')
Это удаление изображений, но иногда вместо этого он оставляет строку, например, он говорит «изображение» или «img», где изображение было раньше. Теперь, например, я вижу свободный текст со спамом после удаления изображения из описания. Может быть, это неправильное выражение.
Кто-нибудь знает, какое правильное регулярное выражение для удаления изображений, а также видео из HTML?