【问题标题】:laravel preg_replace Compilation failed: invalid range in character class [duplicate]laravel preg_replace 编译失败:字符类中的无效范围[重复]
【发布时间】:2020-06-08 04:03:35
【问题描述】:

请查看自爆错误和我的代码。有什么我遗漏了什么吗?

调用栈

in /app/Http/Controllers/Controller.php line 217
at HandleExceptions->handleError('2', 'preg_replace(): Compilation failed: invalid range in character class at offset 13', '/app/Http/Controllers/Controller.php', '217', array('string' => 'gegegeg', 'separator' => '-'))
at preg_replace('/[^a-z0-9_\-\s-ءاأإآؤئبتثجحخدذرزسشصضطظعغفقكلمنهويةى]/u', '', 'gegegeg') in Controller.php line 217
at Controller->make_slug('gegegeg') in AdsController.php line 153
at AdsController->FormAds('14', '71', '97', object(Request))
at call_user_func_array(array(object(AdsController), 'FormAds'), array('main_id' => '14', 'sub_id' => '71', 'typ_id' => '97', object(Request))) in Controller.php line 80

代码

 echo preg_replace('/[^a-z0-9_-s-ءاأإآؤئبتثجحخدذرزسشصضطظعغفقكلمنهويةى]/u', '', 'gegegeg');

错误:

preg_replace():编译失败:字符类中的范围无效 在偏移 13

最好的问候

【问题讨论】:

  • -移动到字符类的开头或结尾。

标签: php laravel-5 php-7


【解决方案1】:

您现在需要转义连字符,所以只需在您的\s 后面添加一个

'/[^a-z0-9_\-\s\-ءاأإآؤئبتجحخدذرزسشصضطظعغفقكلمنهويةى]/u'

看到这个答案preg_match(): Compilation failed: invalid range in character class at offset

看看你的正则表达式在这里工作https://3v4l.org/9qni7

【讨论】:

    猜你喜欢
    • 2014-11-15
    • 1970-01-01
    • 2014-11-30
    • 2023-03-25
    • 2022-11-22
    • 2020-03-20
    • 2019-09-19
    • 2020-01-28
    • 2020-02-18
    相关资源
    最近更新 更多