joomla调用编码的URL值

时间:2013-01-04 05:26:54

标签: php joomla

我有一个在使用jquery序列化时会被编码的url,并且出现如下:

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

假设是index.php?city [] = METROPLOIS& city [] = GOTHAM

另一方面,我正在使用joomla从网址中删除一堆变量

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

现在,另一位用户非常擅长用PHP指出这个代码,它可以获取城市变量,然后将它们内爆到

$cities = $_GET['city'];

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

$cities = $_GET['city'];等同于$city = JRequest::getVar('city');

所以,我遇到了一个我不知道如何解决的挑战。如何解码Joomla中的网址,以便将city%5B%5D识别为city[]city

我已经看到了这个:http://php.net/manual/en/function.urldecode.php,但这会拉下网址并将其放入字符串中。那么我怎么告诉Joomla从该字符串而不是URL中提取变量?

1 个答案:

答案 0 :(得分:2)

使用urldecode解码网址

$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)."'"; 

DEMO

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