Вы можете использовать parse_str , чтобы проанализировать строку для аргументов. Хитрость заключается в том, что вы можете не захотеть просто разрешать передачу всех без исключения параметров. Итак, вот пример того, как разрешается использовать только определенные параметры, когда они передаются.
В следующем примере будут разрешены только foo
, bar
и valid
.
function exampleParseArgs($arg_string) {
// for every valid argument, include in
// this array with "true" as a value
$valid_arguments = array(
'foo' => true,
'bar' => true,
'valid' = true,
);
// parse the string
parse_str($arg_string, $parse_into);
// return only the valid arguments
return array_intersect_key($parse_into,$valid_arguments);
}
baz
будет удалено, поскольку оно не указано в $valid_arguments
. Итак, для этого звонка:
print_r(exampleParseArgs('foo=20&bar=strike&baz=50'));
Результаты:
Array
(
[foo] => 20
[bar] => strike
)
Кроме того, вы можете просмотреть исходный код Wordpress здесь и, разумеется, загрузив его с wordpress.org. Похоже, они делают что-то очень похожее.