Fix: extractElement() undefined index when 'element' is missing
Author: peterujahCreated Apr 24, 2026Updated Apr 24, 2026
https://github.com/erusev/parsedown/blob/4e433a8d57078645b55d21fd12c887d3ba6ca01e/Parsedown.php#L319
Problem
The extractElement() method will trigger an "undefined index" notice when
$Component['element'] is not set and neither markup nor hidden exists.
Current behavior
$component = [];
$result = $this->extractElement($component);
// Notice: Undefined index 'element'The method assumes element will always be set.
Suggested fix
Ensure a safe fallback when element is not defined:
protected function extractElement(array $Component)
{
if (!isset($Component['element']))
{
$Component['element'] = array();
if (isset($Component['markup']))
{
$Component['element'] = array('rawHtml' => $Component['markup']);
}
}
return $Component['element'];
}Source: erusev/parsedown