public function strip($html = false, $echo = false) {
        if ($this->_stripped) {
            if ($echo) {
                echo $this->_stripped;
            }

            return $this->_stripped;
        }

        $this->_triggerHook('startup');

        $string = $this->_triggerHook('beforeStrip', $this->_string);

        if ($this->_isParseable($string)) {
            $string = $this->_strip($this->_extractChunks($string));
        } else {
            $string = $this->convertLineBreaks($string);
        }

        $string = $this->_triggerHook('afterStrip', $string);

        if (!$html) {
            $string = preg_replace('/<br\/?>/', "\n", $string); // convert back
            $string = strip_tags($string);
        }

        $this->_stripped = $this->cleanNewlines($string);

        if ($echo) {
            echo $this->_stripped;
        }

        return $this->_stripped;
    }