函数eregi_replace()已弃用

时间:2011-11-14 11:49:15

标签: php gateway eregi

尝试支持支付网关时,我收到此错误消息:

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

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

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

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

4 个答案:

答案 0 :(得分:4)

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

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

这应该有效

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

答案 1 :(得分:1)

将这些行更改为

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

使用str_replace& preg_replace,未弃用的函数。

答案 2 :(得分:0)

将这些行更改为

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

使用PCRE,首选引擎和EREG弃用的原因。

答案 3 :(得分:0)

此代码适用于此:

$response = preg_replace("#[\r\n]#", "", $response);
$response = preg_replace("#\s+#m", "$1", $response);