* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ class ParsedownCheckbox extends ParsedownExtra { const VERSION = '0.1.0'; protected function blockListComplete(array $block) { if (null === $block) { return null; } if (!(isset($block['element']) && ($block['element']['name'] === 'ul') && is_array($block['element']['elements'])) ) { return $block; } //echo '
';var_dump($block);echo '
'; foreach ($block['element']['elements'] as &$element) { if (!isset($element['handler']['argument'][0])){ continue; } $begin_line = substr(trim($element['handler']['argument'][0]), 0, 4); $re = '/.*(\s{2,})$/'; if ('[ ] ' === $begin_line) { if(preg_match_all($re, $element['handler']['argument'][0], $matches, PREG_SET_ORDER, 0) > 0){ $element['handler']['argument'][0] = trim($element['handler']['argument'][0]) . '
'; } $element['handler']['argument'][0] = ' '. substr($element['handler']['argument'][0], 4); unset ($element['name']); unset ($block['element']['name']); } elseif ('[x] ' === $begin_line) { if(preg_match_all($re, $element['handler']['argument'][0], $matches, PREG_SET_ORDER, 0) > 0){ $element['handler']['argument'][0] = trim($element['handler']['argument'][0]) . '
'; } $element['handler']['argument'][0] = ' '. substr($element['handler']['argument'][0], 4); unset ($element['name']); unset ($block['element']['name']); } } unset($element); return $block; } }