1

たとえば、URLクエリからプラスからマイナスに変更するにはどうすればよいですか。?search = some + wordsから?search = some-wordsに+を使用すると、最初の単語からのみ結果が得られるためです。それを行う方法はありますか?

4

2 に答える 2

0

$ search = rawurlencode(strip_tags(str_replace( "_"、 ""、$ _GET ['search'])));

于 2012-09-27T15:15:25.263 に答える
0

ここに例を含むさまざまな可能性についての優れた概要。

ドイツ語ですが、コードは自明です。

<?php

$_GET['parameter1'] = urlencode('Dies ist ein längerer Beispielstring');
var_dump($_GET['parameter1']);
var_dump(urldecode($_GET['parameter1']));

$_GET['parameter2'] = rawurlencode('Dies ist ein längerer Beispielstring');
var_dump($_GET['parameter2']);
var_dump(rawurldecode($_GET['parameter2']));

// urlencode() macht aus dem Leerzeichen ein +
// rawurlencode() hingegen ein %20
var_dump(urlencode(' '), urldecode(urlencode(' ')));
var_dump(rawurlencode(' '), rawurldecode(rawurlencode(' ')));

var_dump(urlencode('+'), urldecode(urlencode('+')));
var_dump(rawurlencode('+'), rawurldecode(rawurlencode('+')));

結果は

string(41) "Dies+ist+ein+l%C3%A4ngerer+Beispielstring"
string(37) "Dies ist ein längerer Beispielstring"
string(49) "Dies%20ist%20ein%20l%C3%A4ngerer%20Beispielstring"
string(37) "Dies ist ein längerer Beispielstring"
string(1) "+"
string(1) " "
string(3) "%20"
string(1) " "
string(3) "%2B"
string(1) "+"
string(3) "%2B"
string(1) "+"

Apacheのconfigsとmod_rewriteがこの動作に影響を与える可能性があることを付け加えたいと思います。

于 2013-06-03T19:34:50.487 に答える