protected function isMarkdownable()
    {
        if (!isset($this->isMarkdownable[$this->parser->tagName])) {
            // simply not markdownable

            return false;
        }
        if ($this->parser->isStartTag) {
            $return = true;
            if ($this->keepHTML) {
                $diff = array_diff(array_keys($this->parser->tagAttributes), array_keys($this->isMarkdownable[$this->parser->tagName]));
                if (!empty($diff)) {
                    // non markdownable attributes given
                    $return = false;
                }
            }
            if ($return) {
                foreach ($this->isMarkdownable[$this->parser->tagName] as $attr => $type) {
                    if ($type == 'required' && !isset($this->parser->tagAttributes[$attr])) {
                        // required markdown attribute not given
                        $return = false;
                        break;
                    }
                }
            }
            if (!$return) {
                array_push($this->notConverted, $this->parser->tagName . '::' . implode('/', $this->parser->openTags));
            }

            return $return;
        } else {
            if (!empty($this->notConverted) && end($this->notConverted) === $this->parser->tagName . '::' . implode('/', $this->parser->openTags)) {
                array_pop($this->notConverted);

                return false;
            }

            return true;
        }
    }
protected function isMarkdownable()
    {
        if (!isset($this->isMarkdownable[$this->parser->tagName])) {
            // simply not markdownable

            return false;
        }
        if ($this->parser->isStartTag) {
            $return = true;
            if ($this->keepHTML) {
                $diff = array_diff(array_keys($this->parser->tagAttributes), array_keys($this->isMarkdownable[$this->parser->tagName]));
                if (!empty($diff)) {
                    // non markdownable attributes given
                    $return = false;
                }
            }
            if ($return) {
                foreach ($this->isMarkdownable[$this->parser->tagName] as $attr => $type) {
                    if ($type == 'required' && !isset($this->parser->tagAttributes[$attr])) {
                        // required markdown attribute not given
                        $return = false;
                        break;
                    }
                }
            }
            if (!$return) {
                array_push($this->notConverted, $this->parser->tagName . '::' . implode('/', $this->parser->openTags));
            }

            return $return;
        } else {
            if (!empty($this->notConverted) && end($this->notConverted) === $this->parser->tagName . '::' . implode('/', $this->parser->openTags)) {
                array_pop($this->notConverted);

                return false;
            }

            return true;
        }
    }
protected function isMarkdownable ( ) { if ( ! isset ( $ this -> isMarkdownable [ $ this -> parser -> tagName ] ) ) { // simply not markdownable return false ; } if ( $ this -> parser -> isStartTag ) { $ return = true ; if ( $ this -> keepHTML ) { $ diff = array_diff ( array_keys ( $ this -> parser -> tagAttributes ) , array_keys ( $ this -> isMarkdownable [ $ this -> parser -> tagName ] ) ) ; if ( ! empty ( $ diff ) ) { // non markdownable attributes given $ return = false ; } } if ( $ return ) { foreach ( $ this -> isMarkdownable [ $ this -> parser -> tagName ] as $ attr => $ type ) { if ( $ type == 'required' && ! isset ( $ this -> parser -> tagAttributes [ $ attr ] ) ) { // required markdown attribute not given $ return = false ; break ; } } } if ( ! $ return ) { array_push ( $ this -> notConverted , $ this -> parser -> tagName . '::' . implode ( '/' , $ this -> parser -> openTags ) ) ; } return $ return ; } else { if ( ! empty ( $ this -> notConverted ) && end ( $ this -> notConverted ) === $ this -> parser -> tagName . '::' . implode ( '/' , $ this -> parser -> openTags ) ) { array_pop ( $ this -> notConverted ) ; return false ; } return true ; } }
check if current tag can be converted to Markdown

@param void
@return bool
check if current tag can be converted to Markdown