0

尝试支持支付网关时出现此错误消息:

Message: Function eregi_replace() is deprecated
Message: Function eregi_replace() is deprecated

这是与支付网关相关的代码

        $response = eregi_replace ( "[[:space:]]+", " ", $response );
        $response = eregi_replace ( "[\n\r]", "", $response );

解决此错误的任何帮助都会很棒!

4

4 回答 4

4

当一个函数被弃用时,这意味着它不再被支持并且不鼓励使用它。实际上,所有eregi功能都已弃用。

您应该尝试其他功能,例如preg_replace(). 这可能意味着您必须编辑正则表达式。

这应该工作

$response = preg_replace ("/\s+/", " ", $response);
$response = preg_replace ("/[\r\n]/", "", $response);
于 2011-11-14T11:53:33.877 回答
1

将这些行更改为

 $response = preg_replace ( "~[ ]+~", " ", $response );
 $response = str_replace ( array("\n", "\r"), "", $response );

它使用str_replace& preg_replace,不推荐使用的功能。

于 2011-11-14T11:52:03.090 回答
0

将这些行更改为

$response = preg_replace ( "/[[:space:]]+/", " ", $response );
$response = preg_replace ( "/[\n\r]/", "", $response );

它使用 PCRE、首选引擎和不推荐使用 EREG 的原因。

于 2011-11-14T11:54:45.810 回答
0

此代码将为此工作:

$response = preg_replace("#[\r\n]#", "", $response);
$response = preg_replace("#\s+#m", "$1", $response);
于 2011-11-14T11:54:48.277 回答