我有这种情况
$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}=)?$
希望它能有所帮助!