phpjavascriptencodingencodeuricomponent

What is the equivalent of JavaScript's encodeURIcomponent in PHP?


What is the equivalent of JavaScript's encodeURIcomponent function in PHP?


Solution

  • Try rawurlencode. Or to be more precise:

    function encodeURIComponent($str) {
        $revert = array('%21'=>'!', '%2A'=>'*', '%27'=>"'", '%28'=>'(', '%29'=>')');
        return strtr(rawurlencode($str), $revert);
    }
    

    This function works exactly how encodeURIComponent is defined:

    encodeURIComponent escapes all characters except the following: alphabetic, decimal digits, - _ . ! ~ * ' ( )