6

このようなことを行うには、decodeURIComponent()のバリアントを使用する必要があることはわかっていますが、ネット上で見つけたコードをコーディングして使用するのはまだかなり新しいので、どうすればよいかわかりません。私のニーズに合うようにそれを変更します。

私が持っているのは、必要な各URLパラメーターをURLから取得する関数です(その多くがあります)。これらの変数を他の関数のパラメーターとして使用したり、ページに表示したりする必要がありますが、%20を非表示にすることはできません。

function getUrlVars() {
            var vars = {};
            parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
            vars[key] = value;
            });
            return vars;
        }

以下を使用して各変数を取得します。

var markname = getUrlVars()["mname"];

その関数のさまざまな場所にdecodeURIComponent()を配置しようとしましたが、機能しないようです。また、valueまたはvarsを使用する必要があるかどうかもわかりません。

value = decodeURIComponent(value);

またはそのようなもの...

どんな助けでもいただければ幸いです!ありがとう!

4

3 に答える 3

6

decodeURIComponentあなたが投稿したようにうまくいくはずです。プラス記号をスペースに置き換えた方がよいでしょう。また、デコードすることも忘れないでくださいkey

function getUrlVars() {
    var url = window.location.href,
        vars = {};
    url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m, key, value) {
         key = decodeURIComponent(key);
         value = decodeURIComponent(value);
         vars[key] = value;
    });
    return vars;
}
于 2013-02-27T01:02:24.203 に答える
1

あなたがURLの使用を渡し、 それを次のようstr_replace(" ","-",$name) にデコードするとき str_replace("-"," ",$p->property_name)

スペースを削除し、URLに-を追加します

于 2018-07-25T09:45:20.033 に答える
0

単にこれを行う("your string here").replaceAll(" ", "-")

于 2021-07-18T21:36:13.887 に答える