URLを分析して適切な場所に適切なエンコードを自動追加する方法 - TechRepublic

URLを分析して適切な場所に適切なエンコードを自動追加する方法 - TechRepublic
  • URL を分析して適切な場所に適切なエンコーディングを自動的に追加するにはどうすればよいでしょうか?

    ちょっと、そこ、

    質問なのですが、ユーザーが送信したURLを自分のページに反映させる前に、解析する必要があるのでしょうか? ユーザーが送信するURLの種類やURLの構造がわからないため、URLを解析する必要があります。
    送信された各URLについて、クエリ文字列のキー部分を$key配列に、クエリ文字列の値部分を$value配列に追加する必要があります。どのようにすればよいでしょうか?
    例えば、ユーザーが次のURLを送信したとします:
    http://example.com/autos/cars/list.php?state =california&max_price=50000

    最初のステップ
    この例では、$key配列に次の値を設定する必要があります:
    state
    max_price


    そして、$value配列に「california
    50000」を入力する必要があります。

    次に、各配列の値をエコーする必要があります。
    どうすればいいでしょうか?

    次のステップ:
    送信されたURLに適切なエンコード関数を自動追加する必要があります。これで、以下のような出力は不要になります。

    echo 'http://example.com/autos/cars/list.php?state=california&max_price=50000’;

    しかし、URL を解析し、適切なエンコード PHP 関数を URL の正しい場所に追加すると、次のようにエコーされます。

    echo rawurlencode('http://example.com/autos/cars/list.php’) .'?state=' .urlencode('california') .'&max_price=' .intval(50000);

    ファイルパスに rawurlencode を、クエリ文字列の値に urlencode を自動で追加したことに気付きましたか? また、クエリ文字列の値が INT である部分に intval を追加したことにも気付きましたか?
    もちろん、これらの追加はすべて手動で行いました。これは、PHP に自動で何を実行させたいかをお見せするためです。

    概要:
    PHP で URL を自動分析し、適切な場所に rawurlencode()、urlencode()、intval() を自動的に追加する必要があります。

    これをどうやって行うのでしょうか?

    これら 2 つのステップが完了すると、送信された URL を分析し、適切なエンコード関数 (rawurlencode、urlencode、intval など) を使用して URL をエンコードするカスタム PHP 関数が構築されたと言えます。

    どこから始めたらいいのか分からないので、コードサンプルがあれば教えていただけると嬉しいです。
    このコードはうまく動作しませんでした。失敗した試み:

    print_r(parse_url($url)); echo '
    ';

    $keys = 配列(print_r(parse_url($url))); echo '
    ';

    foreach($keys as $key=>$value)
    {
    $key = array();
    $value = array();
    echo $key['0']; echo '
    ';
    echo $value['0']; echo '
    ';
    }

Tagged: