public static function getUrlEncodedPath($path): string
    {
        $entities = array('+', '%21', '%2A', '%27', '%28', '%29', '%3B', '%3A', '%40', '%26', '%3D', '%2B', '%24', '%2C', '%2F', '%3F', '%25', '%23', '%5B', '%5D');
        $replacements = array(' ', '!', '*', "'", '(', ')', ';', ':', '@', '&', '=', '+', '$', ',', '/', '?', '%', '#', '[', ']');
        $path = str_replace($entities, $replacements, urlencode($path));
        
        return $path;
    }
public static function getUrlEncodedPath($path): string
    {
        $entities = array('+', '%21', '%2A', '%27', '%28', '%29', '%3B', '%3A', '%40', '%26', '%3D', '%2B', '%24', '%2C', '%2F', '%3F', '%25', '%23', '%5B', '%5D');
        $replacements = array(' ', '!', '*', "'", '(', ')', ';', ':', '@', '&', '=', '+', '$', ',', '/', '?', '%', '#', '[', ']');
        $path = str_replace($entities, $replacements, urlencode($path));
        
        return $path;
    }
public static function getUrlEncodedPath ( $ path ) : string { $ entities = array ( '+' , '%21' , '%2A' , '%27' , '%28' , '%29' , '%3B' , '%3A' , '%40' , '%26' , '%3D' , '%2B' , '%24' , '%2C' , '%2F' , '%3F' , '%25' , '%23' , '%5B' , '%5D' ) ; $ replacements = array ( ' ' , '!' , '*' , "'" , '(' , ')' , ';' , ':' , '@' , '&' , '=' , '+' , '$' , ',' , '/' , '?' , '%' , '#' , '[' , ']' ) ; $ path = str_replace ( $ entities , $ replacements , urlencode ( $ path ) ) ; return $ path ; }
URL encode the asset path properly

@param string $path

@return string
URL encode the asset path properly