compute `$offset` in *raw length* and not in *UTF8 length* because `preg_match(…, PREG_OFFSET_CAPTURE, $offset)` needs raw length