裁剪URL中的重复值

时间:2017-06-02 作者:Jay Kapoor

http://localhost/sarkari/wp-login.php?action=logout&redirect_to=%2Fsarkari%2F&_wpnonce=b5e3b954df&redirect_to=http://localhost/sarkari/2017/06/01/new-sample-post/
我只想获取此url部分http://localhost/sarkari/wp-login.php?action=logout&redirect_to=%2Fsarkari%2F&_wpnonce=b5e3b954df如何在php中修剪其余部分

1 个回复
SO网友:MaximOrlovsky

解析Url,检查参数,然后再次构建:

$url = "http://localhost/sarkari/wp-login.php?action=logout&redirect_to=%2Fsarkari%2F&_wpnonce=b5e3b954df&redirect_to=http://localhost/sarkari/2017/06/01/new-sample-post/";

function trimUrlParams($url, array $params) 
{
 $parts = parse_url($url);
 parse_str($parts[\'query\'], $query);
 $newQuery = array();

 if (is_array($query) && sizeof($query) > 0 ) {
  foreach ($query as $variable=>$value) {
   if (in_array($variable, $params)) {
    $newQuery[$variable] = $value;
   }
  }
 }

 return $parts[\'scheme\']."://".$parts[\'host\'].$parts[\'path\']."?". http_build_query($newQuery);
}


$newUrl = trimUrlParams($url, array(\'action\', \'redirect_to\', \'_wpnonce\'));

结束

相关推荐

WordPress AJAX Login Screen

在WordPress的最新版本中,当您登录到仪表板时,页面仍处于打开状态,WordPress会超时并打开一个登录框。此框出现在一个小弹出窗口中,允许您登录,而无需刷新页面。是否有人知道是否有一种内置方式可以利用前端的弹出窗口?我有一个链接,需要用户登录才能执行任何操作。当用户未登录时,我希望有一个弹出式登录表单来帮助实现这一点,我希望已经有了一个简单的方法,因此我不需要遵循这些旧教程中的一些内容,也不需要手动完成所有操作,因为这有时会使维护与未来版本的兼容性变得更加困难。感谢您提供的任何建议!