2012-09-16 29 views
0

我正在使用str_replace來格式化一個字符串與一個相對較大(我認爲)字符數,但它不處理該字符串。下面是我的字符串,並使用PHP的Str_replace不工作的大字符串

$formlink = str_replace('&stepvars='.$_GET['stepvars'],'',$link); 

的字符串代碼IM是長1004個字符

?content=com_motor&folder=same&file=motor_form&step=one&stepvars=VzNOMGNERmRkR2wwYkdVOVBsTmxiR1ZqZENCVWFYUnNaU3h3Y205d2IzTmxjbDl6ZFhKdVlXMWxQVDVOZFdOb2FYSnBMRzkwYUdWeVgyNWhiV1Z6UFQ1VVpYTjBJRTkwYUdWMExHOWpZM1Z3WVhScGIyNWZjSEp2Wm1WemMybHZiajArVjJWaUlFUmxjMmxuYm1WeUxHUmhlVDArTVRjc2JXOXVkR2c5UGs5amRHOWlaWElzZVdWaGNqMCtNakF3TWl4d2FXNWZibTg5UGpFeU16UTFOaXhwWkY5dmNsOXdZWE56Y0c5eWRGOXViejArTmpVME16SXhMR1J5YVhabGNsOXNhV05sYm5ObFgyNXZQVDQyTXpJMU5ERXNlV1ZoY2w5bWFYSnpkRjlrY21sMmFXNW5YMnhwWTJWdWMyVmZhWE56ZFdWa1BUNHlNREEwTEc1MWJXSmxjbDl2Wmw5NVpXRnljMTlrY21sMmFXNW5YMlY0Y0dWeWFXVnVZMlU5UGpVc1pXMWhhV3hmWVdSa2NtVnpjejArYzI1bmRXMXZRR2R0WVdsc0xtTnZiU3h0YjJKcGJHVmZiblZ0WW1WeVBUNHdOelF4TlRJMk15eHdYMjlmWW05NFBUNHhNalUwZEdWemRDeHdiM04wWVd4ZlkyOWtaVDArTVRJMU5EYzRMSFJ2ZDI0OVBrNWhhWEp2WW1rc1pHOWZlVzkxWDE5aGJtUnZjbDloYm5sZmIzUm9aWEpmY0dWeWMyOXVjMTkzYUc5ZmRHOWZlVzkxY2w5cmJtOTNiR1ZrWjJWZmQybHNiRjlrY21sMlpWOTBhR1ZmWTJGeVgxOXpYMTlmYzNWbVptVnlYMlp5YjIxZlpHVm1aV04wYVhabFgzWnBjMmx2Ymw5dmNsOW9aV0Z5YVc1blgyOXlYMkZ1ZVY5d2FIbHphV05oYkY5cGJtWnBjbTFwZEhsZmFXNWpiSFZrYVc1blgyWnBkSE05UGpBc1czeHpkSEF4WFE9PQ%3D%3D&msgvalid=Now_enter_your_vehicle_details 

請協助我到哪裏,我要去錯了。

感謝

回答

3

什麼是可能發生的是,您的網址中有(%3D%3D)轉義字符,你的$ _GET是轉義字符,以便它們不匹配。 str_replace可以處理非常大的字符串而不會出現問題。

如果你想擺脫那種價值的,只是這樣做:

$query_params = $_GET; 
unset($query_params['stepvars']); 
$new_link = http_build_query($query_params); 

如果param是第一個(stepvars = ...?)

0

在這甚至會工作事情的宏偉計劃,那個字符串不是很大,這不太可能成爲問題的根源。

什麼是更有可能的是,該問題是由%3D%3D在字符串,這$_GET將轉化爲==,這將導致該字符串不匹配,如果%3D%3D是你要尋找的結束而引起的。