如何从PHP中的任何图像类型的base64字符串中剥离数据:图像部分

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了如何从PHP中的任何图像类型的base64字符串中剥离数据:图像部分脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我目前正在执行以下操作来解码 PHP中的base64图像:
$img = str_replace('data:image/jPEg;base64,','',$s['image']);
   $img = str_replace('data:image/png;base64,$s['image']);
   $img = str_replace('data:image/gif;base64,$s['image']);
   $img = str_replace('data:image/bmp;base64,$s['image']);
   $img = str_replace(' ','+',$img);
   $data = base64_decode($img);

如您所见,我们接受四种最标准的图像类型(jpeg,png,gif,bmp);

然而,这些图像中的一些非常大,并且使用str_replace扫描每个图像4-5次似乎是一种可怕的浪费并且非常低效.

有没有办法可以可靠地剥离数据:一次传递中base64图像字符串的图像部分?也许通过检测字符串中的第一个逗号?

如果这是一个简单的问题我很抱歉,PHP不是我的强项.提前致谢.

您可以使用正则表达式:
$img = PReg_replace('#data:image/[^;]+;base64,#',$s['image']);

如果你要替换的文本是图像中的第一个文本,在正则表达式的开头添加^将使它更快,因为它不会分析整个图像,只是前几个字符:

$img = preg_replace('#^data:image/[^;]+;base64,$s['image']);

脚本宝典总结

以上是脚本宝典为你收集整理的如何从PHP中的任何图像类型的base64字符串中剥离数据:图像部分全部内容,希望文章能够帮你解决如何从PHP中的任何图像类型的base64字符串中剥离数据:图像部分所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。