text = $text; $this->tag = new Tag('text'); parent::__construct(); } /** * Returns the text of this node. * * @return string */ public function text(): string { // convert charset if ( ! is_null($this->encode)) { if ( ! is_null($this->convertedText)) { // we already know the converted value return $this->convertedText; } $text = $this->encode->convert($this->text); // remember the conversion $this->convertedText = $text; return $text; } else { return $this->text; } } /** * Sets the text for this node. * * @var string $text * @return void */ public function setText(string $text): void { $this->text = $text; if ( ! is_null($this->encode)) { $text = $this->encode->convert($text); // remember the conversion $this->convertedText = $text; } } /** * This node has no html, just return the text. * * @return string * @uses $this->text() */ public function innerHtml(): string { return $this->text(); } /** * This node has no html, just return the text. * * @return string * @uses $this->text() */ public function outerHtml(): string { return $this->text(); } /** * Call this when something in the node tree has changed. Like a child has been added * or a parent has been changed. */ protected function clear(): void { $this->convertedText = null; } /** * Checks if the current node is a text node. * * @return bool */ public function isTextNode(): bool { return true; } }