protected function percentEncode(string $value) : string
    {
        // Se o valor já está encodado... remove encoding
        $value = str_replace("+", "%20", $value);
        while ((strpos($value, "%") !== false && rawurlencode(rawurldecode($value)) === $value)) {
            $value = rawurldecode($value);
        }

        return rawurlencode($value);
    }
protected function percentEncode(string $value) : string
    {
        // Se o valor já está encodado... remove encoding
        $value = str_replace("+", "%20", $value);
        while ((strpos($value, "%") !== false && rawurlencode(rawurldecode($value)) === $value)) {
            $value = rawurldecode($value);
        }

        return rawurlencode($value);
    }
protected function percentEncode ( string $ value ) : string { // Se o valor já está encodado... remove encoding $ value = str_replace ( "+" , "%20" , $ value ) ; while ( ( strpos ( $ value , "%" ) !== false && rawurlencode ( rawurldecode ( $ value ) ) === $ value ) ) { $ value = rawurldecode ( $ value ) ; } return rawurlencode ( $ value ) ; }
Aplica "percent-encoding" aos caracteres "unsafe".

@param       string $value
Valor que será encodado.

@see         https://tools.ietf.org/html/rfc3986#section-2.1
@see         http://www.faqs.org/rfcs/rfc3986.html

@return      string
Aplica percent - encoding aos caracteres unsafe .