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:----X7m+rn0J1B/EXZwdIN08D96kRVjGGuZWRYm/KN6olhGGAHdfMRx/MSMijAvz8sKCtL8eki5t8U8fI0DdRB83rCysd4KMu/zaNSmo7LkLqvjf7hnm/ngPEnFfpF/ZvP7MjzZ7wii5RUpEyazmOp/W41RO3vHun/3+uPVvXhfHZ7Uy1DKkeYsiUSdHNdXJny7CWcsVIzp0pthkdeg1reG/FwISijRHueh3pSxanYjyWYrmTfAvY1vhegh49ni7xgv5zH7zubSzhHAcgyr7lpfwQIXWsGlYocKZeJfKz6NVy7iURafHDdGhYgZ8w6QJ223wrT6zK9sVRpng2wnOVHQZgPpd5s4Cyb8UinIvklZMovKX2HK2ZxyC4t7BdF/zGcssVjZ24d+azb9R+/ok4CGScKG2cQc3Y77OEdZ/Rnyp7e9P/tDhmvysDHJGrJ+Jmw1QH6rh0reR611Tq+cmdlF6psvk7fZzPWsBveVJimNgk9fT5YNxwgyYXvCK501urTNtFyj3wCxLx/8jXbQCxt0TZNmVcXen6kOVca0UjUJ9R8OtiSKl7jBxSuG7CNeYxgOzA7vJMYasUJNZ2x84xUXdBH0YUbBd559MkqfwE+q9D5XO7slvuP+6mYzhQLiigWV4mtmmh5poiJQVyujEDe7op6QM8cHPyYDH/vLh5r7kzaE=----ATTACHMENT:----NjM0MDMzNDI5NTI2MDYxMCA4MzgxMDkxODQ3MjI1Mjc3IDc2NTc3NzA2OTcyMzI4MDY=