PHP安全URL文字列base 64符号化と復号


直接base 64_を使えばencodeとbase 64_デコード方法では、生成した文字列にURLアドレスが適用されない場合があります。以下の方法でこの問題を解決できます。
URLの安全な文字列コード:

function urlsafe_b64encode($string) {
   $data = base64_encode($string);
   $data = str_replace(array('+','/','='),array('-','_',''),$data);
   return $data;
 }
URLセキュリティの文字列復号:

function urlsafe_b64decode($string) {
   $data = str_replace(array('-','_'),array('+','/'),$string);
   $mod4 = strlen($data) % 4;
   if ($mod4) {
       $data .= substr('====', $mod4);
   }
   return base64_decode($data);
 }