【问题标题】:Fatal error: Uncaught Error: Call to undefined function ereg_replace() PHP 7 [duplicate]致命错误:未捕获的错误:调用未定义的函数 ereg_replace() PHP 7 [重复]
【发布时间】:2017-01-21 00:14:14
【问题描述】:

下面的代码给了我 php 7 中的致命错误

    $jquery_click_hook = ereg_replace("[^A-Za-z0-9]", "", strtolower($value['name']));

有没有办法让它与 php 7 兼容?

【问题讨论】:

标签: php php-7 ereg-replace


【解决方案1】:

ereg_replace 函数在 PHP 5.3.0 中被弃用,在 PHP 7.0.0 中被移除。所以你必须使用preg_replace()函数而不是ereg_replace()

【讨论】:

  • 感谢金佳的回复
【解决方案2】:

切换到 preg_replaceDocs 并更新表达式以使用 preg 语法 (PCRE) 而不是 ereg 语法 (POSIX) where there are differencesDocs(正如 ereg_replaceDocs 手册中所说的那样)。

你上面的代码应该是这样的:

$jquery_click_hook = preg_replace("[^A-Za-z0-9]", "", strtolower($value['name']));

【讨论】:

  • 非常感谢您的修复
  • 如果这对您有帮助,请将答案标记为已接受的解决方案 :)
  • 当然必须等待 7 分钟才能这样做:)
  • 你应该切换到 mb_ereg_replace ; preg_replace 有一些重音字符的问题,我无法通过更改语言环境、编码等来解决。
猜你喜欢
  • 1970-01-01
  • 2021-11-03
  • 2021-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-07
  • 1970-01-01
  • 2019-05-22
相关资源
最近更新 更多