public function drainIfMatch($str)
    {
        if (!isset($this->bev)) {
            return false;
        }
        $in = $this->bev->input;
        $l = mb_orig_strlen($str);
        $ll = $in->length;
        if ($ll === 0) {
            return $l === 0 ? true : null;
        }
        if ($ll < $l) {
            return $in->search(substr($str, 0, $ll)) === 0 ? null : false;
        }
        if ($ll === $l) {
            if ($in->search($str) === 0) {
                $in->drain($l);
                return true;
            }
        } elseif ($in->search($str, 0, $l) === 0) {
            $in->drain($l);
            return true;
        }
        return false;
    }
public function drainIfMatch($str)
    {
        if (!isset($this->bev)) {
            return false;
        }
        $in = $this->bev->input;
        $l = mb_orig_strlen($str);
        $ll = $in->length;
        if ($ll === 0) {
            return $l === 0 ? true : null;
        }
        if ($ll < $l) {
            return $in->search(substr($str, 0, $ll)) === 0 ? null : false;
        }
        if ($ll === $l) {
            if ($in->search($str) === 0) {
                $in->drain($l);
                return true;
            }
        } elseif ($in->search($str, 0, $l) === 0) {
            $in->drain($l);
            return true;
        }
        return false;
    }
public function drainIfMatch ( $ str ) { if ( ! isset ( $ this -> bev ) ) { return false ; } $ in = $ this -> bev -> input ; $ l = mb_orig_strlen ( $ str ) ; $ ll = $ in -> length ; if ( $ ll === 0 ) { return $ l === 0 ? true : null ; } if ( $ ll < $ l ) { return $ in -> search ( substr ( $ str , 0 , $ ll ) ) === 0 ? null : false ; } if ( $ ll === $ l ) { if ( $ in -> search ( $ str ) === 0 ) { $ in -> drain ( $ l ) ; return true ; } } elseif ( $ in -> search ( $ str , 0 , $ l ) === 0 ) { $ in -> drain ( $ l ) ; return true ; } return false ; }
Drains buffer it matches the string
@param  string $str Data
@return boolean|null      Success
Drains buffer it matches the string