@Stergy

Как преобразовать html в текст на ruby(rails)?

Стороннее Api возвращает ошибку в виде html
<html><head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>500 Server Error</title>
</head>
<body text=#000000 bgcolor=#ffffff>
<h1>Error: Server Error</h1>
<h2>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. </h2>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. .</p>
</body></html>

Как мне с помощью Ruby(Rails) преобразовать это сообщение, что б выводить на страницу не html-код приходящий со стороны API, а именно текст содержащийся в сообщении.
Я новичок, поэтому был бы благодарен за подробный ответ)
  • Вопрос задан
  • 211 просмотров
Решения вопроса 1
nokogiri.org

require 'nokogiri'

api_body_result = <<-HTML
<html>
  <head>
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
    <title>500 Server Error</title>
  </head>
<body text=#000000 bgcolor=#ffffff>
  <h1>Error: Server Error</h1>
  <h2>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. </h2>
  <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. .</p>
  </body>
</html>
HTML

doc = Nokogiri::HTML api_body_result

# source html inner text
text = doc.text

# or

# html title
title = doc.title

# html body
element = doc.at_css 'body'
body = element.text
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы