tokens = (new Tokenizer())->tokenize($content); } public function render() { $parser = new Parser(); $unknown = new Unknown(); $parser->addTag($unknown); $text = new Text(); $parser->addTag($text); $bold = new Bold(); $parser->addTag($bold); $italic = new Italic(); $parser->addTag($italic); $underline = new Underline(); $parser->addTag($underline); $strikethrough = new Strikethrough(); $parser->addTag($strikethrough); $image = new Image(); $parser->addTag($image); $link = new Link(); $parser->addTag($link); $code = new Code(); $parser->addTag($code); $quote = new Quote(); $parser->addTag($quote); $blockquote = new Blockquote(); $parser->addTag($blockquote); $twitter = new Twitter(); $parser->addTag($twitter); $youtube = new Youtube(); $parser->addTag($youtube); $video = new Video(); $parser->addTag($video); $tags = [ $unknown, $text, $bold, $italic, $underline, $strikethrough, $image, $link, $code, $quote, $blockquote, $twitter, $youtube, $video ]; $anyChild = [ $bold, $quote, $blockquote, $text, $unknown ]; foreach ($anyChild as $parent) { foreach ($tags as $tag) { $parser->addAllowedChildTag($parent, $tag); } } return $parser->format($this->tokens); } }