@php $renderSegments = static function (array $segments): string { $html = ''; foreach ($segments as $segment) { $segmentHtml = e((string) ($segment['text'] ?? '')); if (! empty($segment['italic'])) { $segmentHtml = ''.$segmentHtml.''; } if (! empty($segment['bold'])) { $segmentHtml = ''.$segmentHtml.''; } if (filled($segment['link'] ?? null)) { $segmentHtml = ''.$segmentHtml.''; } $html .= $segmentHtml; } return $html; }; foreach (($document['blocks'] ?? []) as $block) { if (($block['type'] ?? null) === 'paragraph') { echo '

'.$renderSegments($block['segments'] ?? []).'

'; continue; } if (! in_array(($block['type'] ?? null), ['unordered_list', 'ordered_list'], true)) { continue; } $listTag = $block['type'] === 'ordered_list' ? 'ol' : 'ul'; echo '<'.$listTag.'>'; foreach (($block['items'] ?? []) as $item) { echo '
  • '.$renderSegments(is_array($item) ? $item : []).'
  • '; } echo ''; } @endphp