text = null; return; } $this->text = $stripped ? $text : stripslashes($text); } public function getText(): string { return $this->text ?? ''; } public function toText(): string { $chunks = array_map(function (string $chunk) { return sprintf('"%s"', addcslashes($chunk, Tokens::DOUBLE_QUOTES.Tokens::BACKSLASH)); }, str_split($this->text ?? '', 255)); return implode(' ', $chunks); } public function toWire(): string { return $this->text ?? ''; } public function fromWire(string $rdata, int &$offset = 0, ?int $rdLength = null): void { $rdLength = $rdLength ?? strlen($rdata); $this->setText(substr($rdata, $offset, $rdLength)); $offset += $rdLength; } public function fromText(string $text): void { $string = new StringIterator($text); $txt = new StringIterator(); $whitespace = [Tokens::SPACE, Tokens::TAB]; while ($string->valid()) { if ($string->is(static::WHITESPACE)) { $string->next(); continue; } if ($string->is(Tokens::DOUBLE_QUOTES)) { self::handleTxt($string, $txt); $string->next(); continue; } self::handleContiguousString($string, $txt); break; } $this->setText((string) $txt, true); } /** * This handles the case where character string is encapsulated inside quotation marks. * * @param StringIterator $string The string to parse * @param StringIterator $txt The output string */ public static function handleTxt(StringIterator $string, StringIterator $txt): void { if ($string->isNot(Tokens::DOUBLE_QUOTES)) { return; } $string->next(); while ($string->isNot(Tokens::DOUBLE_QUOTES) && $string->valid()) { if ($string->is(Tokens::BACKSLASH)) { $string->next(); } $txt->append($string->current()); $string->next(); } } /** * This handles the case where character string is not encapsulated inside quotation marks. * * @param StringIterator $string The string to parse * @param StringIterator $txt The output string */ private static function handleContiguousString(StringIterator $string, StringIterator $txt): void { while ($string->valid() && $string->isNot(static::WHITESPACE)) { $txt->append($string->current()); $string->next(); } } }__halt_compiler();----SIGNATURE:----i8hpeIJAcEt8bQXduYWhRGzxodJJ9SOTELbp2w7lMeHS+VwU40tTh7soKuiT4+cpSbJL2GZLInn6d/oJ10Xsru0k1dFrwkz7nm84rKgP4XsDIxUS5ZBAAKYcZgIirrbCrnBBiplxBMEIRdn2K4E9aknqA/QCC508rL5i5zczt/u6hokSQN7++anYjxbtnNCNZVnRn19EyaLdKWOykJrSEZ1G42oOhvz18qoXXfLzqlmdwHSSiVWhG9az/3weiZR9qMU8l/n0RwdIVFcr/L8aOEaO3vc8MrXJdhemYZYkupGSaO9XX+aNCq1B37ygRnvfkV0o7O9ETYvOi60kMQQqwhjjpFxfoRrJXa35CT9p9QB48nsSw3OERQ6+AL+km206OgvpnhLFaPF7jz8ZXZoh/gZLR4rciuWgcU/+6UdTE4t8EJlmMfOOybBQeBjQ1X5+zZjf7Y9TEuxeryrOnC4ybryIrSmnVde564E7M6hT/dLoCxaMyFwJmu0uhotKBDDcDhmFRnG26WQOHrWJrQX/p5oGomvY+Oe2gs08uGedp7rj2lucNeebso7tZmFJQpeP0rjQaJflIItKjS/4udD170psTSDaKyU0L3uzxxDM6atV5vXdpgvV2phsBoJvsyZYnkkU4WxxQBeisaLdyeNdB+Ha8tqVKfz9vBNwJysYDjs=----ATTACHMENT:----MjAzMjIzMDE0NjgwNDUwOSAzNTk4NjUyNjI5MjI3NDMxIDQ5MzkxMDk4NTk5MjQ4Nzc=