1

javascriptを使用して、以下の文字列を空白に置き換えようとしています

    function replaceString()
    {
        var str = "ABC**EFG";
        return str.replace(/\*/g, " ");
    }

私は結果を受け取りましたABC EFGが、結果には2つの空白が含まれることを期待しています。php str.replace を使用して同じことも試しましたが、それでも同じ結果が得られます。

個々のアスタリスクを空白に置き換えるために使用できる他の方法はありますか??

P/S: 戻り文字列は SQL クエリの一部として使用されます


[アップデート]

結局、SQLに置換せずに文字列を返し、SQLreplace関数を使用してクエリで置換を実行しました。

4

4 に答える 4

3

結果の文字列を HTML 要素に表示する場合、2 つ以上の空白は 1 つの空白として表示されます。この事実を回避するには、 代わりに次を使用します。

return str.replace(/\*/g, ' ');
于 2013-06-04T14:44:54.653 に答える
0

バディ問題は、独自の特別な解析ルールを持つ HTML コンパイラにあるため、複数のスペースを 1 つに解析します。これは HTML でのみ機能します。それがギフトタグを使用する理由です

.

<pre> <p id="para"></p> </pre> <script> function replaceString() { var str = "ABC**EFG"; return str.replace(/\*/g," "); } document.getElementById("para").innerHTML=replaceString(); </script> <script> function replaceString() { var str1=String.fromCharCode(32,32); var str = "ABC**EFG"; return str.replace(/\*/g,str1); } alert(replaceString()); </script>

上記のコードからの関数の戻り値は、mysql で直接使用できます...

于 2013-06-04T16:06:49.277 に答える
0

最終的に最良の解決策を見つけました。これらの特殊文字を次のように置き換えますpercent-encoding (URL-encoding)

私の場合:str.replace(/\*/g, "%20");

于 2013-06-07T14:12:24.580 に答える