регулярное выражение ruby ​​on rails для удаления тегов html и его содержимого из текста - PullRequest
9 голосов
/ 19 марта 2010

Мне нужно регулярное выражение в ruby ​​on rails, которое удаляет все html-теги и его содержимое из данного текста.

Например, если мой текст: -INPUT: -

<span id="span_is"><br><br><u><i>Hi</i></u></span> 

тогда должно отображаться только ВЫХОД должен быть следующим: -

Hi

Короче говоря, я хочу регулярное выражение или функцию, которая удаляет <> и любой контент между <>.

Спасибо и всего наилучшего,

Салил Гайквад

Ответы [ 3 ]

16 голосов
/ 19 марта 2010
'<span id="span_is"><br><br><u><i>Hi</i></u></span>'.gsub(/<\/?[^>]+>/, '')
14 голосов
/ 19 марта 2010

Ваша строка довольно проста, и это решение может работать. Тем не менее, вы не должны изобретать велосипед. В Rails уже есть несколько мощных помощников по очистке .

string = '<span id="span_is"><br><br><u><i>Hi</i></u></span>'
strip_tags(string)
1 голос
/ 19 марта 2010

Не делай этого. Пожалуйста.

Хотя ваш ввод сэмпла довольно тривиален, вы упоминаете, что хотите использовать его в гораздо более широкой области.

http://www.codinghorror.com/blog/2009/11/parsing-html-the-cthulhu-way.html

Для Ruby вы можете попробовать использовать http://hpricot.com/ для анализа HTML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...