跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 关于 PHP preg_match 的问题
未分類
7 7 月 2020

关于 PHP preg_match 的问题

关于 PHP preg_match 的问题

資深大佬 : gc528262067 9

有一个需求,前端传过来的是图片是 base64 编码过的,我在后端需要进行接码,存储文件,然后将文件路径写入到 mysql 中。现在碰到一个问题。preg_match()就是匹配不到 base64 文件中的图片格式。实在是无解了。 后端是 php thinkphp5.1 php7.2.1

关于 PHP preg_match 的问题

大佬有話說 (10)

  • 資深大佬 : NCry

    把 $base64_image_content 打印出来看看呢

  • 主 資深大佬 : gc528262067

    @NCry 打印出来就是想$example 那样的。作为实参传递进去就是不可以了。。

  • 資深大佬 : whoami9894

    什么传递实参,你是说传字符串字面量吧。图片里$example 结尾没逗号,当然匹配不到

  • 資深大佬 : TORYOI

    正则我测试正常,你再确认一下$base64_image_content 的内容,var_dump 看看,看有没有空格或者转码之类的

  • 資深大佬 : mitu9527

    扣掉输出和返回,一共 5 行代码都不到,有这么“无解”么,单步调试一下,眼睛瞪大点。自己解决后把帖子给沉了吧。

  • 資深大佬 : KasonPasser

    这是正则的问题,与语言关系不大。

  • 資深大佬 : Xusually

    preg_match(‘/^(data:s*image/(w+);base64,)/’,$base64_image_content,$result)

    –>

    preg_match(‘/^(data:s*image/(w+);base64)/’,$base64_image_content,$result)

  • 資深大佬 : zhyt0520

    规则最后有个逗号?

  • 資深大佬 : faraone

    if (preg_match(‘/^(data:s*image/(w+);base64,)/’, $img, $rt)) {
    $mime = $rt[2];
    }

  • 主 資深大佬 : gc528262067

    @faraone
    @zhyt0520
    @Xusually
    @KasonPasser
    @KasonPasser
    @mitu9527
    @mitu9527
    @TORYOI
    @whoami9894
    @whoami9894
    @NCry
    preg_match(‘/^(data:s*image/(w+);base64,)/’, trim($base64_image_content,'”‘), $result)
    修改成这样即可。取出两侧的引号

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具