public static UrlHelper::filterQueryParameters(array $query, array $exclude = array(), $parent = '')
Filters a URL query parameter array to remove unwanted elements.
Parameters
array $query: An array to be processed.
array $exclude: (optional) A list of $query array keys to remove. Use "parent[child]" to exclude nested items.
string $parent: Internal use only. Used to build the $query array key for nested items.
Return value
An array containing query parameters.
File
- core/lib/Drupal/Component/Utility/UrlHelper.php, line 82
Class
- UrlHelper
- Helper class URL based methods.
Namespace
Drupal\Component\Utility
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | public static function filterQueryParameters( array $query , array $exclude = array (), $parent = '' ) { // If $exclude is empty, there is nothing to filter. if ( empty ( $exclude )) { return $query ; } elseif (! $parent ) { $exclude = array_flip ( $exclude ); } $params = array (); foreach ( $query as $key => $value ) { $string_key = ( $parent ? $parent . '[' . $key . ']' : $key ); if (isset( $exclude [ $string_key ])) { continue ; } if ( is_array ( $value )) { $params [ $key ] = static ::filterQueryParameters( $value , $exclude , $string_key ); } else { $params [ $key ] = $value ; } } return $params ; } |
Please login to continue.