public function callback($opcode, $subject, $offset, $length)
    {
        if ($opcode === 'i') {
            return;
        }

        if ($opcode === 'c') {
            return  htmlentities(substr($subject, $offset, $length));
        }

        $deletion = substr($subject, $offset, $length);

        if (strcspn($deletion, " \n\r") === 0) {
            $deletion = str_replace(array("\n","\r"), array('\n','\r'), $deletion);
        }

        return '<del>'.htmlentities($deletion).'</del>';
    }