1

jqueryでシリアル化するとエンコードされるURLがあり、次のようになります。

index.php?city%5B%5D=METROPLOIS&city%5B%5D=GOTHAM

index.php?city[]=METROPLOIS&city[]=GOTHAMのはず

もう一方の端では、joomla を使用して URL から一連の変数を取得しています

$city = JRequest::getVar('city');

さて、別のユーザーが、市の変数を取得し、それらを内破する PHP のこのコードを教えてくれました。

$cities = $_GET['city'];

$str = "CITY='".implode("' OR CITY='",$city)."'";

$cities = $_GET['city'];と同等の場所$city = JRequest::getVar('city');

そのため、対処方法がわからないという課題に直面しています。またはcity%5B%5Dとして認識されるように Joomla で URL をデコードする方法。city[]city

私はこれを見てきました:http://php.net/manual/en/function.urldecode.php、しかしそれはURLをプルダウンして文字列に入れます。URL の代わりにその文字列から変数をプルするように Joomla に指示するにはどうすればよいでしょうか。

4

1 に答える 1

2

urldecodeを使用して URL をデコードします

$decoded = urldecode('index.php?city%5B%5D=METROPLOIS&city%5B%5D=GOTHAM');
$query = parse_url($decoded, PHP_URL_QUERY);
parse_str($query, $params);
$city = $params['city'];
echo "CITY='".implode("' OR CITY='",$city)."'"; 

デモ

http://php.net/manual/en/function.parse-url.php
http://php.net/manual/en/function.parse-str.php

于 2013-01-04T05:41:47.923 に答える