2016-05-15 4 views
-1

以下のコードを使用した後、すべてのスペースは+に変更され、すべて,%252Cに変更されました。submit()を使用すると、スペース値を「+」と「、」と「%252C」で置き換えます。

<select name="country" id="country" onchange="action='<?php 
echo '/index.php' ?>';submit();return false;"> 

私は-にスペースを変更し、変更しない,を維持する必要があります。これは国の値を実行する機能です。

function list_es($type, $country) { 

    global $countries, $l, $lang; 

    if($type=="dropdown") { 

     // echo '<option value = "">- Select -</option>'; 
     foreach($countries as $country1) { 

     echo '<option value="'. $country1.'"'; 

     echo $country1 == $l ? 'selected="selected"' : ''; 


     echo '>'.$country1.'</option>'; 
     echo "\n"; 
     } 
+0

この動作は仕様です。 URLエスケープについて学んでください。 – SLaks

+0

関連するコードを表示していません。これは、値を取得しているPHPコードです。通常、URIエンコーディングは表示されません。これは通常、デコードされるためです。 –

答えて

1

これは単なる標準的なURIエンコーディングです。あなたは、通常の方法でそれをアクセスする場合、それはあなたのために復号ます:

$country = $_GET['country']; 

あなたは、その後のダッシュにスペースを変更したい場合は、単に置き換えます。

$country = str_replace($_GET['country'], ' ', '-'); 

は(フォームではなくGET、POSTを使用している場合は、単に $_POSTに上記 $_GETを変更してください。)

関連する問題