的可能输出base64_encode()
包含a-zA-Z0-9+/
还有可能=
或==
已附加。
使用进行测试
$str = \'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=\';
我们发现:
esc_attr( $str ) === $str
是真的,所以看起来
esc_attr()
保留base64编码的字符串。
有possible regexes 帮助验证,但根据answer 通过@BoltClock,我们可以使用以下第二个参数进行检查:
base64_decode( $str, $strict = true )
然后,我们可以将其包装成如下函数:
function is_base64( $str )
{
return base64_decode( $str, true) !== false;
}
在PHP中验证它。