label $buttons = [ 'reset' => 'Reset', 'urlencode' => 'URL Encode', 'urldecode' => 'URL Decode', 'b64encode' => 'Base64 Encode', 'b64decode' => 'Base64 Decode', 'htmlencode' => 'HTML Encode', 'htmldecode' => 'HTML Decode', // 'uuencode' => 'UU Encode', // 'uudecode' => 'UU Decode', 'qprintencode' => 'Qprint Encode', 'qprintdecode' => 'Qprint Decode', 'hash' => 'Hash', 'hex' => 'Hex', ]; $str = $result = $_GET['str'] ?? ''; $action = $_GET['action'] ?? ''; if ($action == 'reset') { http_response_code(302); header("Location: /"); die(); } elseif ($action == 'urlencode') { $result = urlencode($str)?: $str; } elseif ($action == 'urldecode') { $result = urldecode($str)?: $str; } elseif ($action == 'b64encode') { $result = base64_encode($str)?: $str; } elseif ($action == 'b64decode') { $result = base64_decode($str)?: $str; } elseif ($action == 'htmlencode') { $result = htmlentities($str, ENT_QUOTES | ENT_HTML5)?: $str; } elseif ($action == 'htmldecode') { $result = html_entity_decode($str, ENT_QUOTES | ENT_HTML5)?: $str; } elseif ($action == 'uuencode') { $result = convert_uuencode($str)?: $str; } elseif ($action == 'uudecode') { $result = convert_uudecode($str)?: $str; } elseif ($action == 'hash') { $result = "Algorithm Time Len Hash\n"; foreach (hash_algos() as $algo) { $t1 = microtime(true); $r = hash($algo, $str, false); $t2 = (microtime(true) - $t1) * 1000; $result .= sprintf("%-15s %.3f %3d %s\n", $algo, $t2, strlen($r), $r); } $result = trim($result); } elseif ($action == 'hex') { $result = chunk_split(bin2hex($str), 2, " "); } elseif ($action == 'qprintencode') { $result = quoted_printable_encode($str)?: $str; } elseif ($action == 'qprintdecode') { $result = quoted_printable_decode($str)?: $str; } ?>