protected function defaultListeners()
    {
        $this->addListener('parser.crawler.before', new TagsInScriptListener());

        $this->addListener('parser.crawler.after', new ExcludeBlocksListener(), 1);
        $this->addListener('parser.crawler.after', new DomTextListener());
        $this->addListener('parser.crawler.after', new DomButtonListener());
        $this->addListener('parser.crawler.after', new DomIframeSrcListener());
        $this->addListener('parser.crawler.after', new DomImgListener());
        $this->addListener('parser.crawler.after', new DomInputDataListener());
        $this->addListener('parser.crawler.after', new DomInputRadioListener());
        $this->addListener('parser.crawler.after', new DomLinkListener());
        $this->addListener('parser.crawler.after', new DomMetaContentListener());
        $this->addListener('parser.crawler.after', new DomPlaceholderListener());
        $this->addListener('parser.crawler.after', new DomSpanListener());
        $this->addListener('parser.crawler.after', new DomTableDataListener());

        $this->addListener('parser.translated', new DomReplaceListener());
        
        $this->addListener('parser.render', new CleanHtmlEntitiesListener());
        $this->addListener('parser.render', new TagsInScriptListener(false));
    }