public function between($start, $end)
    {
        if ($start == '' && $end == '') {
            return $this;
        }

        if ($start != '' && strpos($this->string, $start) === false) {
            return new static();
        }

        if ($end != '' && strpos($this->string, $end) === false) {
            return new static();
        }

        if ($start == '') {
            return new static(substr($this->string, 0, strpos($this->string, $end)));
        }

        if ($end == '') {
            return new static(substr($this->string, strpos($this->string, $start) + strlen($start)));
        }

        $stringWithoutStart = explode($start, $this->string)[1];

        $middle = explode($end, $stringWithoutStart)[0];

        return new static($middle);
    }
public function between($start, $end)
    {
        if ($start == '' && $end == '') {
            return $this;
        }

        if ($start != '' && strpos($this->string, $start) === false) {
            return new static();
        }

        if ($end != '' && strpos($this->string, $end) === false) {
            return new static();
        }

        if ($start == '') {
            return new static(substr($this->string, 0, strpos($this->string, $end)));
        }

        if ($end == '') {
            return new static(substr($this->string, strpos($this->string, $start) + strlen($start)));
        }

        $stringWithoutStart = explode($start, $this->string)[1];

        $middle = explode($end, $stringWithoutStart)[0];

        return new static($middle);
    }
public function between ( $ start , $ end ) { if ( $ start == '' && $ end == '' ) { return $ this ; } if ( $ start != '' && strpos ( $ this -> string , $ start ) === false ) { return new static ( ) ; } if ( $ end != '' && strpos ( $ this -> string , $ end ) === false ) { return new static ( ) ; } if ( $ start == '' ) { return new static ( substr ( $ this -> string , 0 , strpos ( $ this -> string , $ end ) ) ) ; } if ( $ end == '' ) { return new static ( substr ( $ this -> string , strpos ( $ this -> string , $ start ) + strlen ( $ start ) ) ) ; } $ stringWithoutStart = explode ( $ start , $ this -> string ) [ 1 ] ; $ middle = explode ( $ end , $ stringWithoutStart ) [ 0 ] ; return new static ( $ middle ) ; }
Get the string between the given start and end.

@param $start
@param $end

@return \Spatie\String\Str
Get the string between the given start and end .