使用php

时间:2015-12-15 15:30:43

标签: php sorting

我正在尝试在我的博客上为我的帖子建立一个排序系统。

当用户对ex:date,date和title进行排序时,系统会根据GET参数数组在新页面上对结果进行排序。

Ex:www.domain.com/blog?日期[] = thedate& date [] = thesnddate& title = sometitle

为了控制排序,我显示带有无线电输入按钮的表格,以选择日期和标题

第一次访问者搜索时,我会显示包含当前搜索过滤器的信息框。

所以通过上面的例子我会显示: 日期:日期和时间thesnddate 标题:一些标题

现在我需要知道的是最好的方法是用PHP删除其中一个日期。

我尝试输出信息是具有相同ID和另一个ID的单独输入按钮,但这要么复制信息要么保持完全相同。当一个关闭时,另一个将分配给URL。

有没有办法替换网址的内容而不删除所有内容?

例: preg从网址中替换单词日期。但这不起作用,因为它删除了所有日期,我只希望它删除一个日期。

2 个答案:

答案 0 :(得分:0)

Here's a fiddle.

适用于PHP 5.3 +

// Make array from query string
// If using the url from a string
$str = "www.domain.com/blog?date[]=thedate&date[]=thesnddate&title=sometitle";
parse_str(explode("?", $str)[1], $params);

// If using the query string from the current url...
//parse_str($_SERVER['QUERY_STRING'], $params);

// Remoove one of the dates
unset($params['date'][0]);

// Re-create the url
$newDomain = "www.domain.com/blog?".http_build_query($params);

print_r($newDomain);

答案 1 :(得分:0)

它不是PHP解决方案,但我认为可以使用根目录中的“.htaccess”-File来实现。 一旦我有类似的事情要做,这就是我如何解决我的问题

在您的情况下:(www.domain.com/.htaccess)

function storefront_upsell_display() {
    woocommerce_upsell_display( -1, 3 );
}

这会将整个网址重命名为适合右侧网址的左侧网址。

如果我错了,请纠正我。我不是百分百肯定,但这可能有所帮助。