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;
}
}