2017-07-07 9 views
1

私たちは、クライアントシステムから&代わりの&でURLを取得:somedomain.com?param1=test&param2=test2

私は$_GET['param1']$_GET['param2']を得ることを期待。代わりに$_GET['amp;param1']$_GET['amp;param2']

私はそれを.htaccessやPHPの書き換えルールとして修正していますか?

UPDATE:

一時的な修正プログラムは、以下を行うことですが、それは不器用なようだ:

foreach ($_GET AS $key => $value) 
{ 
    $param = str_replace('amp;', '', $key); 
    $_GET[$param] = $value; 
    unset($_GET[$key]); 
} 
+2

'html_entity_decode' –

+4

迷惑メールの送信を停止するようにしますか? –

+0

正しいリンクが記載されたメールを送信します。私は彼らの電子メールクライアントがリンクを台無しにすると思う。この場合、クライアントが自分のシステムに変更を加えることはほとんどありませんので、今度は私の問題になっています:-( – Cudos

答えて

-1

あなたが "somedomain.com?param1=test & PARAM2 = TEST2" を定義しているようですHTML。 HTMLは&&に変換しています。

だけではなく、このような&&を配置しよう:somedomain.com?param1=test&param2=test2

0

のようないくつかのトークンに文字?&を変換しますstr_replace('&', '__AND__', $toUrl)

__AND__str_replace('?', '__Q__', $toUrl)

&__Q__

?

そしてこのデータをURLに渡します。

このデータをURLから取得しているうちに、これらのデコードを行います。

str_replace('__Q__', '?', $fromUrl)

str_replace('__AND__', '&', $fromUrl)

それは動作しますが、そのトリッキーけれども。

+1

私はそれを提案していませんでした。私は、クライアントに不正なデータの送信を止めるように言いました:P –

+1

OK、あなたの参照を削除しました:) – Pupil