GET变量中的Codeigniter数组清理URL

时间:2013-11-18 18:55:36

标签: php arrays codeigniter mod-rewrite get

我想询问是否有任何选项如何在GET中将URL更改为CLEAN。

示例:

由此:example.com/school/4/?city [] = 1& city [] = 2& city [] = 3
我需要这个:example.com/school/4/?city=1,2,3

(我使用Codeigniter框架。)

我在考虑mod_rewrite,但我无法做到 我非常感谢你的帮助。
谢谢。

//更多解释: 我需要将第一个提到的网址更改为第二个网址。

1 个答案:

答案 0 :(得分:0)

如果您知道它会以这种格式出现,您可以这样做:

$_GET['city'] = explode(",", $_GET['city']);

您遇到的唯一问题是当值实际包含逗号时。

如果您需要让表单以实际方式提交,那么这是一个不同的问题。我假设你使用jQuery是为了简单,但你可以这样做:

$('input[type="submit"]').on('click', function() {
   var cities = '';
   $('[name="city"]').each(function() {
        cities = cities + $(this).val() + ',';
   });
   cities = cities.substr(0,cities.length-1);
   $('[name="city"]').remove();
   $('<input name="city" value="' + cities + '">').appendTo('form');
});

这会在他们点击提交时删除所有城市字段,并添加一个新的城市字段,其值包含在逗号分隔列表中。您可能需要将其附加到表单提交操作,但我不确定jquery如何处理在提交事件中添加的元素。