mirror of
https://github.com/erusev/parsedown.git
synced 2023-08-10 21:13:06 +03:00
introduce more structure to parsing of unmarked inlines
This commit is contained in:
parent
b1be886d65
commit
fd0d8125e7
@ -1087,7 +1087,7 @@ class Parsedown
|
||||
|
||||
$plainText = substr($text, 0, $markerPosition);
|
||||
|
||||
$markup .= $this->readUnmarkedText($plainText);
|
||||
$markup .= $this->unmarkedText($plainText);
|
||||
|
||||
$markup .= isset($Inline['markup']) ? $Inline['markup'] : $this->element($Inline['element']);
|
||||
|
||||
@ -1105,7 +1105,7 @@ class Parsedown
|
||||
$markerPosition ++;
|
||||
}
|
||||
|
||||
$markup .= $this->readUnmarkedText($text);
|
||||
$markup .= $this->unmarkedText($text);
|
||||
|
||||
return $markup;
|
||||
}
|
||||
@ -1397,17 +1397,28 @@ class Parsedown
|
||||
#
|
||||
# ~
|
||||
|
||||
protected function readUnmarkedText($text)
|
||||
protected $unmarkedInlineTypes = array(
|
||||
" \n" => 'Break',
|
||||
'://' => 'Url',
|
||||
);
|
||||
|
||||
# ~
|
||||
|
||||
protected function unmarkedText($text)
|
||||
{
|
||||
$text = $this->linkUrls($text);
|
||||
|
||||
# ~
|
||||
|
||||
if (strpos($text, "\n") === false)
|
||||
foreach ($this->unmarkedInlineTypes as $snippet => $inlineType)
|
||||
{
|
||||
return $text;
|
||||
if (strpos($text, $snippet) !== false)
|
||||
{
|
||||
$text = $this->{'unmarkedInline'.$inlineType}($text);
|
||||
}
|
||||
}
|
||||
|
||||
return $text;
|
||||
}
|
||||
|
||||
protected function unmarkedInlineBreak($text)
|
||||
{
|
||||
if ($this->breaksEnabled)
|
||||
{
|
||||
$text = preg_replace('/[ ]*\n/', "<br />\n", $text);
|
||||
@ -1421,9 +1432,7 @@ class Parsedown
|
||||
return $text;
|
||||
}
|
||||
|
||||
# ~
|
||||
|
||||
protected function linkUrls($text)
|
||||
protected function unmarkedInlineUrl($text)
|
||||
{
|
||||
$re = '/\bhttps?:[\/]{2}[^\s<]+\b\/*/ui';
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user