Показать отформатированную строку HTML как всплывающее окно? - PullRequest
3 голосов
/ 23 сентября 2019

У меня одна строка с текстом с HTML-тегами.Пример.

    html_string = '<!DOCTYPE html><html><body> <h1> My First Heading</h1> <p> My first paragraph.</p> </body> </html> '. 

Я хочу вернуть значение html_string в виде отформатированного HTML-текста следующим образом:

    <!DOCTYPE html>
    <html>
      <body>
        <h1>My First Heading</h1>
        <p>My first paragraph.</p>
      </body>
    </html>

Лучше всего будет всплывающее окно.У кого-нибудь есть идеи?Лучше всего будет функциональный модуль или около того.Некоторое время я искал вокруг, но не нашел ничего, что соответствовало бы моим требованиям.

Ответы [ 2 ]

2 голосов
/ 23 сентября 2019

Я только что нашел именно то, что мне было нужно.Это может помочь любым будущим программистам:

https://help.sap.com/doc/abapdocu_750_index_htm/7.50/de-DE/abenstring_function_escape_abexa.htm

REPORT  demo_escape_html.

CLASS demo DEFINITION.
  PUBLIC SECTION.
    CLASS-METHODS main.
ENDCLASS.

CLASS demo IMPLEMENTATION.
  METHOD main.
    DATA: body     TYPE string,
          esc_body TYPE string.

    body = `<table border> `
        && `<tr><td>11</td><td>12</td></tr> `
        && `<tr><td>21</td><td>22</td></tr> `
        && `</table>`.

    esc_body = escape( val    = body
                       format = cl_abap_format=>e_html_text ).

    cl_demo_output=>new(
      )->begin_section( 'Original text'
      )->write_text( body

      )->next_section( 'Original text formatted as HTML'
      )->write_html( body

      )->next_section( 'Escaped text'
      )->write_text( esc_body

      )->next_section( 'Escaped text formatted as HTML'
      )->write_html( esc_body

      )->display( ).
  ENDMETHOD.
ENDCLASS.

START-OF-SELECTION.
  demo=>main( ).
1 голос
/ 23 сентября 2019

Если HTML является XHTML (XML-совместимым), то вы можете отобразить его как любой другой XML, и встроенный браузер Windows автоматически сделает отступ для уровней XML:

DATA l_xml TYPE string.
cl_abap_browser=>show_xml( xml_string = l_xml title = 'text' ).

Если HTML неXHTML, нет программы SAP, которая интерпретирует теги начала и конца (например, <br>, <li> и т. Д.)

...