Appending string causing link to render as plain html The following code is returning html in plain text instead of link.for example its printing Edit slides intead of converting in to link. 

$editslides = Url::fromUserInput('/admin/dexp_layerslider/'. $row-&gt;id . '/editslides');
      $editslides_link = (Link::fromTextAndUrl('Edit slides', $editslides)-&gt;toString());
      $exportslides = Url::fromUserInput('/admin/dexp_layerslider/'. $row-&gt;id . '/export');
      $exportslides_link =  (Link::fromTextAndUrl('Export slides', $exportslides)-&gt;toString());
      $deleteslides = Url::fromUserInput('/admin/dexp_layerslider/'. $row-&gt;id . '/delete');
      $deleteslides_link =  (Link::fromTextAndUrl('Delete', $deleteslides)-&gt;toString());
      $tmp[] =  $editslides_link .' ,' .$exportslides_link .' ,' .$deleteslides_link;


Though if i don't append string in $tmp[] code render the links. For example

  $tmp[] =  $editslides_link;


The complete code is as below

  public function dexp_layerslider_list() {
    $header = [
      'ID',
      'Name',
      'Action',
    ];
    $results = \Drupal::database-&gt;select('dexp_layerslider', 'd')-&gt;fields('d', [
      'id',
      'name',
    ])-&gt;execute();
    foreach ($results as $row) {
      $url = Url::fromUserInput('/admin/dexp_layerslider/'. $row-&gt;id . '/edit');
      $row-&gt;name = (Link::fromTextAndUrl($row-&gt;name, $url)-&gt;toString());
      $tmp = (array) $row;
      $editslides = Url::fromUserInput('/admin/dexp_layerslider/'. $row-&gt;id . '/editslides');
      $editslides_link = (Link::fromTextAndUrl('Edit slides', $editslides)-&gt;toString());
      $exportslides = Url::fromUserInput('/admin/dexp_layerslider/'. $row-&gt;id . '/export');
      $exportslides_link =  (Link::fromTextAndUrl('Export slides', $exportslides)-&gt;toString());
      $deleteslides = Url::fromUserInput('/admin/dexp_layerslider/'. $row-&gt;id . '/delete');
      $deleteslides_link =  (Link::fromTextAndUrl('Delete', $deleteslides)-&gt;toString());
      $tmp[] =  $editslides_link .' ,' .$exportslides_link .' ,' .$deleteslides_link;
      $rows[] = $tmp;
    }
    $table = array(
      '#type' =&gt; 'table',
      '#header' =&gt; $header,
      '#rows' =&gt; $rows,
      '#attributes' =&gt; [],
      '#caption' =&gt; '',
      '#colgroups' =&gt; [],
      '#sticky' =&gt; FALSE,
      '#empty' =&gt; t('No slider created yet.'),
       );
     return  $table;
  }
The toString method of Link returns the HTML string for the link object.

HTML strings in the table render array are wrapped in a markup element which escapes many HTML tags for security concerns.

You can, however, pass your own render array in the row as follows:

$table['#rows'][0]['item']['data'] = [
  '#type' =&gt; 'inline_template',
  '#template' =&gt; '{{ link1 }}, {{ link2 }}, {{ link3 }}',
  '#context' =&gt; [
    'link1' =&gt; $link1-&gt;toRenderable(),
    'link2' =&gt; $link2-&gt;toRenderable(),
    'link3' =&gt; $link3-&gt;toRenderable(),
  ]
];