正则表达式检查输入变量是 url 还是 data:image/png;base64, [重复]
Posted
技术标签:
【中文标题】正则表达式检查输入变量是 url 还是 data:image/png;base64, [重复]【英文标题】:regex to check if the input varabile is url or data:image/png;base64, [duplicate] 【发布时间】:2016-09-09 11:42:17 【问题描述】:我有这种情况
$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"
我想用正则表达式检查第一个 var 而不是全部
BASE64_DATA_HERE 只是 base64 代码的大 str 示例
我想要一个 preg_match 正则表达式代码来仅提取 BASE64_DATA_HERE
类似
$var = 'data:image/png;base64,ZXhhbXBsZQ==';
preg_match(regex_here,$var,$matches);
$code = $matches[1];
【问题讨论】:
【参考方案1】:我认为您在这里遗漏了一些用于服务器端验证的好东西。看看就好。
Valitron
无论如何检查base64字符串,正则表达式是这样的。
^(?:[A-Za-z0-9+/]4)*(?:[A-Za-z0-9+/]2==|[A-Za-z0-9+/]3=)?$
希望对你有帮助!
【讨论】:
以上是关于正则表达式检查输入变量是 url 还是 data:image/png;base64, [重复]的主要内容,如果未能解决你的问题,请参考以下文章