public function substringBetween($start, $end)
    {
        $ini = mb_stripos($this->str, $start, 0, $this->encoding);

        if ($ini === 0) {
            return "";
        }

        $ini += mb_strlen($start, $this->encoding);
        $len = mb_stripos($this->str, $end, $ini, $this->encoding) - $ini;

        return static::create(mb_substr($this->str, $ini, $len, $this->encoding), $this->encoding);
    }