From abd24964e2d167613dd78e5b5f0efc163e2fe3d2 Mon Sep 17 00:00:00 2001 From: Freya Murphy Date: Wed, 11 Dec 2024 17:11:22 -0500 Subject: [PATCH] update third party libraries --- src/web/third_party/parsedown.php | 8 ++++---- src/web/third_party/parsedown_extra.php | 19 +++++++++++-------- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/web/third_party/parsedown.php b/src/web/third_party/parsedown.php index 4d60658..8f1fb2e 100644 --- a/src/web/third_party/parsedown.php +++ b/src/web/third_party/parsedown.php @@ -17,7 +17,7 @@ class Parsedown { # ~ - const version = '1.8.0-beta-7'; + const version = '1.8.0'; # ~ @@ -571,7 +571,7 @@ class Parsedown # # List - protected function blockList($Line, array $CurrentBlock = null) + protected function blockList($Line, ?array $CurrentBlock = null) { list($name, $pattern) = $Line['text'][0] <= '-' ? array('ul', '[*+-]') : array('ol', '[0-9]{1,9}+[.\)]'); @@ -808,7 +808,7 @@ class Parsedown # # Setext - protected function blockSetextHeader($Line, array $Block = null) + protected function blockSetextHeader($Line, ?array $Block = null) { if ( ! isset($Block) or $Block['type'] !== 'Paragraph' or isset($Block['interrupted'])) { @@ -894,7 +894,7 @@ class Parsedown # # Table - protected function blockTable($Line, array $Block = null) + protected function blockTable($Line, ?array $Block = null) { if ( ! isset($Block) or $Block['type'] !== 'Paragraph' or isset($Block['interrupted'])) { diff --git a/src/web/third_party/parsedown_extra.php b/src/web/third_party/parsedown_extra.php index 8cdb5d2..b3298d5 100644 --- a/src/web/third_party/parsedown_extra.php +++ b/src/web/third_party/parsedown_extra.php @@ -17,7 +17,7 @@ class ParsedownExtra extends Parsedown { # ~ - const version = '0.8.0'; + const version = '0.8.2'; # ~ @@ -331,7 +331,7 @@ class ParsedownExtra extends Parsedown # # Setext - protected function blockSetextHeader($Line, array $Block = null) + protected function blockSetextHeader($Line, ?array $Block = null) { $Block = parent::blockSetextHeader($Line, $Block); @@ -508,7 +508,7 @@ class ParsedownExtra extends Parsedown ), ); - uasort($this->DefinitionData['Footnote'], 'self::sortFootnotes'); + uasort($this->DefinitionData['Footnote'], [$this, 'sortFootnotes']); foreach ($this->DefinitionData['Footnote'] as $definitionId => $DefinitionData) { @@ -624,12 +624,15 @@ class ParsedownExtra extends Parsedown $DOMDocument = new DOMDocument; - # http://stackoverflow.com/q/11309194/200145 - $elementMarkup = mb_convert_encoding($elementMarkup, 'HTML-ENTITIES', 'UTF-8'); - - # http://stackoverflow.com/q/4879946/200145 - $DOMDocument->loadHTML($elementMarkup); + # https://www.php.net/manual/en/domdocument.loadhtml.php#95251 + $DOMDocument->loadHTML('' . $elementMarkup); $DOMDocument->removeChild($DOMDocument->doctype); + foreach ($DOMDocument->childNodes as $Node) { + if ($Node->nodeType === XML_PI_NODE) { + $DOMDocument->removeChild($Node); + } + } + $DOMDocument->encoding = 'UTF-8'; $DOMDocument->replaceChild($DOMDocument->firstChild->firstChild->firstChild, $DOMDocument->firstChild); $elementText = '';