正则表达式检查输入变量是 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, [重复]的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式检测语法正确的 URL [重复]

检查字符串是不是为有效 URL 的最佳正则表达式是啥?

检查字符串是否为有效URL的最佳正则表达式是什么?

检查字符串是不是为有效 URL 的 RFC 兼容和工作正则表达式是啥

使用 Javascript 正则表达式检查有效的 url

使用正则表达式检查相对URL是否有效?