尝试支持支付网关时,我收到此错误消息:
Message: Function eregi_replace() is deprecated
Message: Function eregi_replace() is deprecated
这是与支付网关相关的代码
$response = eregi_replace ( "[[:space:]]+", " ", $response );
$response = eregi_replace ( "[\n\r]", "", $response );
解决此错误的任何帮助都会很棒!
答案 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);