preg_match_all(): Compilation failed: invalid range in character class at offset 30

Ramya ·
更新时间:2024-09-20
· 983 次阅读

问题
之前一直都是好好的,在本地运行就报这个错误。仔细对比才发现,正则表达式里面有一个横杠[\w-]+而服务器线上是PHP7.1,而本地是PHP7.3。使用PHPpreg_quote转义试一下,结果发现,是输出\-。再测试PHP7.1,果然也是,但奇怪的是,PHP7.1并没有报这个错误。
解决办法
将[]中的横杠转义。有点神奇,线上一直跑了一年多都没出错。



preg_match_all RANGE CHARACTER ALL class match preg_match offset

需要 登录 后方可回复, 如果你还没有账号请 注册新账号