How to show multi line output from metabox

I had a new look now at the sprintf() part of the example I shared in my answer to your previous question. The thing that might contribute to the rendering problem is the esc_html( $snuptext ) line as it is basically disabling the <br> tags that are added with the str_replace() earlier. (I’m so used to using esc_html that I’m almost blind to it.)

So the sprintf would look like this,

$items[] = sprintf(
    '<li>
      %s
      <div class="snup_title">%s</div>
      <div class="snup_text">%s</div>
      <div class="snup_published">%s</div>
      <div class="snup_time">%s</div>
    </li>',
    get_the_post_thumbnail($post),
    esc_html( $post->post_title ),
    $snuptext,
    esc_html__('Published', 'snup-lang'),
    get_the_time('d.m.Y H:i', $post)
  );

I tested this locally in my sandbox WP and it seemed to work.

If you don’t want to allow other html in the widget excerpt text, then you could do something like this when doing the str_replace.

$snuptext = str_replace(array("\r\n", "\r", "\n"), "<br />", strip_tags($snuptext));