dongyingdao8867 2014-12-12 23:57
浏览 70
已采纳

preg_replace无法正常工作

I am running the following code:

$filename = 'bla.mp4';
    echo preg_replace('/\.(m4a|wav|ogg|flac|avi|flv|mov|wmv|m3u|mid|wma|webm|mkv|asf|mp(\d+)|aif(?:f?)|3gp(?:p?)|mp(eg(\d+)?|g(\d+)?))/g', '', $filename);

However I get no output, surely it would echo 'bla' but it doesn't show anything.

  • 写回答

2条回答 默认 最新

  • duanchen6423 2014-12-13 00:11
    关注

    PHP PCRE patterns do not support the g modifier, and as the manual states:

    Spaces and newlines are ignored in modifiers, other characters cause error.

    As an error is caused, preg_replace works as expected:

    If matches are found, the new subject will be returned, otherwise subject will be returned unchanged or NULL if an error occurred.

    You have probably disabled or suppressed warnings in your code, which you should never, ever do during development (and always in production). Check whether display_errors is enabled in your php.ini file, and/or whether you have any error_reporting(...) calls in your code.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥66 定制开发肯德基自动化网站下单软件
  • ¥20 vscode虚拟环境依赖包未安装
  • ¥15 odoo17关于owl开发js代码问题
  • ¥15 光纤中多普勒频移公式的推导
  • ¥15 怎么制作一个人脸识别门禁系统
  • ¥20 大华dss监控平台网络关闭登不进去
  • ¥15 请使用蚁群算法解决下列问题,并给出我完整的代码
  • ¥20 关于php录入完成后,批量更新数据库
  • ¥15 请教往复密封润滑问题
  • ¥15 cocos creator发布ios包