У меня есть этот скрипт:строка base64_encode/decode не работает?
function is_base64($s){
// Check if there are valid base64 characters
if (!preg_match('/^[a-zA-Z0-9\/\r\n+]*={0,2}$/', $s)) return false;
// Decode the string in strict mode and check the results
$decoded = base64_decode($s, true);
if(false === $decoded) return false;
// Encode the string again
if(base64_encode($decoded) != $s) return false;
return true;
}
Вызывается is_base64($input)
где $input
есть две строки я стараюсь, чтобы протестировать функции.
Об этом сообщается в порядке: !!K0deord*test
Об этом сообщается не в порядке: Kilroy2P4All
Что может быть разница, что делает его вернуться ложным?
Регулярное выражение не требуется при декодировании с использованием аргумента '$ strict'. Что-то вроде: 'return! (Base64_decode ($ s, true) === false);' должно быть достаточно. –
Правда. См. Следующий ответ ;-) – osomanden