From a81aedeb109ed16270bbf6aaead7b41e5593caeb Mon Sep 17 00:00:00 2001 From: Aidan Woods Date: Tue, 4 Oct 2016 15:27:11 +0100 Subject: [PATCH] Line handler may prevent specified element nesting MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Removed granularity controls – elements are assumed to be non nestable indefinitely once declared. --- Parsedown.php | 34 +++++----------------------------- 1 file changed, 5 insertions(+), 29 deletions(-) diff --git a/Parsedown.php b/Parsedown.php index 6b6df9c..f1e09d9 100644 --- a/Parsedown.php +++ b/Parsedown.php @@ -1005,18 +1005,9 @@ class Parsedown { # check to see if the current inline type is nestable in the current context - foreach ($non_nestables as $key => $non_nestable) + if (in_array($inlineType, $non_nestables)) { - # case that we used array syntax - if (is_array($non_nestable) and $non_nestable[0] === $inlineType) - { - continue 2; - } - # case that we used plain string syntax - elseif ( ! is_array($non_nestable) and $non_nestable === $inlineType) - { - continue 2; - } + continue; } $Inline = $this->{'inline'.$inlineType}($Excerpt); @@ -1040,26 +1031,11 @@ class Parsedown $Inline['position'] = $markerPosition; } - # cause the new element to 'inherit' our non nestables, if appropriate + # cause the new element to 'inherit' our non nestables - foreach ($non_nestables as $key => $non_nestable) + foreach ($non_nestables as $non_nestable) { - # array syntax, and depth is sufficient to pass on - if (is_array($non_nestable) and isset($non_nestable[1]) and - is_int($non_nestable[1]) and $non_nestable[1] > 1) - { - $Inline['element']['non_nestables'][] = array($non_nestable[0], $non_nestable[1] -1); - } - # array syntax, and depth is indefinite - elseif (is_array($non_nestable) and ! isset($non_nestable[1])) - { - $Inline['element']['non_nestables'][] = array($non_nestable[0]); - } - # string syntax, so depth is indefinite - elseif ( ! is_array($non_nestable)) - { - $Inline['element']['non_nestables'][] = $non_nestable; - } + $Inline['element']['non_nestables'][] = $non_nestable; } # the text that comes before the inline