14

私は次のURLを持っています:$url = 'http://mysite.com/?p=welcome&x=1&y=2';

header("Location: $url");実際に機能するようにデコードする必要があります。

ただし、->をデコードしていないurldecode($url)ため、使用は機能していません。そのため、ブラウザはリダイレクトされ、失敗します。&&http://mysite.com/?p=welcome&x=1&y=2

次のようにデコードする必要があります。 http://mysite.com/?p=welcome&x=1&y=2

それ、どうやったら出来るの?

4

4 に答える 4

30

で試してみてくださいhtmlspecialchars_decode

echo htmlspecialchars_decode('http://mysite.com/?p=welcome&x=1&y=2');
//"http://mysite.com/?p=welcome&x=1&y=2"
于 2012-07-30T14:34:48.970 に答える
6

&URLエンコード(別名パーセントエンコード)ではありませんが、HTMLエンティティです。URLエンコードされたものは次のようになります%26

を使用しhtml_entity_decode()ます。

于 2012-07-30T14:34:57.483 に答える
4

&URLエンコードされていません。http://php.net/manual/en/function.htmlspecialchars-decode.phpを使用する必要がありますhtmlspecialchars_decode()

于 2012-07-30T14:35:06.407 に答える
4

私はこれを試してみます:

$url = html_entity_decode($url);
header("Location: $url");

http://php.net/manual/en/function.html-entity-decode.phpから取得

なぜなら、あなた$urlはurlエンコードではなく、htmlエンコードされており、html特殊文字が対応するhtmlエンティティに置き換えられているからです。

于 2012-07-30T14:35:40.360 に答える