Lines Matching refs:line

104             $line = $lines[$i];
108 if (str_starts_with(trim($line), '```')) {
109 $this->handleCodeBlock($line, $output);
114 $output[] = $line;
120 if ($this->isTableStart($line, $nextLine)) {
127 if ($this->isHorizontalRule($line)) {
135 if ($this->isBlockquote($line)) {
137 $output[] = $this->renderBlockquote($line);
143 if ($this->isListItem($line)) {
144 $this->handleList($line, $output);
150 if ($this->isTitle($line)) {
152 $output[] = $this->renderTitle($line);
158 if (trim($line) === '') {
166 $this->paragraphBuffer[] = $this->convertInline($line);
192 * @param string $line The current line.
195 private function handleCodeBlock(string $line, array &$output): void argument
198 $lang = trim(substr(trim($line), 3));
210 * @param string $line The current line.
214 private function isTableStart(string $line, ?string $nextLine): bool argument
216 return strpos($line, '|') !== false && $nextLine && preg_match('/^[\s\|:\-]+$/', $nextLine);
251 * @param string $line The table row line.
254 private function parseTableRow(string $line): array argument
256 return array_map('trim', explode('|', trim($line, '|')));
281 * @param string $line The line.
284 private function isListItem(string $line): bool argument
286 return preg_match('/^\s*([\*\-\+]|\d+\.)\s/', $line) === 1;
292 * @param string $line The list item line.
295 private function handleList(string $line, array &$output): void argument
298 $indent = $this->calculateIndent($line);
299 $type = preg_match('/^\s*\d+\.\s/', $line) ? 'ordered' : 'unordered';
310 $content = $this->convertInline(preg_replace('/^\s*([\*\-\+]|\d+\.)\s+/', '', $line));
317 * @param string $line The line.
320 private function calculateIndent(string $line): int argument
322 return strlen($line) - strlen(ltrim($line));
338 * @param string $line The line.
341 private function isTitle(string $line): bool argument
343 return preg_match('/^(#{1,6})\s+(.+)$/', trim($line)) === 1;
349 * @param string $line The header line.
352 private function renderTitle(string $line): string argument
354 preg_match('/^(#{1,6})\s+(.+)$/', trim($line), $matches);
364 * @param string $line The line.
367 private function isHorizontalRule(string $line): bool argument
369 return preg_match('/^[-*_]{3,}\s*$/', trim($line)) === 1;
375 * @param string $line The line.
378 private function isBlockquote(string $line): bool argument
380 return str_starts_with(ltrim($line), '>');
386 * @param string $line The blockquote line.
389 private function renderBlockquote(string $line): string argument
392 return '>> ' . $this->convertInline(substr(ltrim($line), 1));