regex来检查输入的varabile是url还是data:image/png;base64,


regex to check if the input varabile is url or data:image/png;base64,

我有这种情况

$var = 'http://example.com/images/image_1.jpg';
$var_2 = 'data:image/png;base64,BASE64_DATA_HERE';
$var_3 = 'data:image/gif;base64,BASE64_DATA_HERE';

我如何使if条件检查它是base64还是url,我想先检查它是不是base64,因为如果我只是检查它是url,否则它将是base64,这将非常糟糕,并且处理这个"http://example.com/images/image_1.jpg?var=base64",我想regex检查var的第一个,而不是整个

BASE64_DATA_HERE只是BASE64代码的大str的示例

并且我想要一个preg_match regex代码来仅提取BASE64_DATA_HERE

类似的东西

$var = 'data:image/png;base64,ZXhhbXBsZQ==';
preg_match(regex_here,$var,$matches);
$code = $matches[1];

我认为您在服务器端验证方面缺少一些好东西。看看就知道了。

Valitron

无论如何,对于检查base64字符串,regex是这样的。

^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$

希望它能有所帮助!