In lieu with biziclop answer here a small upgrade.
<?php
/**
* convert bin to url friendly base64
*/
function base64url_encode( string $data ): string
{
return rtrim( strtr( base64_encode( $data ), '+/', '-_' ), '=' );
}
/**
* convert url friendly base64 to bin
*/
function base64url_decode( string $data ): string
{
return base64_decode( strtr( $data, '-_', '+/' ) . str_repeat( '=', 3 - ( 3 + strlen( $data ) ) % 4 ) );
}
?>
This should symmetrically convert one string and back in a url save manner.