<?php
$str = 'https://www.somehost.com/test/index.html?param1=4¶m2=3¶m3=2¶m4=1¶m5=3';
function parse($str) {
// parse string to uri array
$uri = parse_url($str);
// parse query params to array
parse_str($uri['query'], $params);
// task1. filter params by 3
$params = array_filter($params, function($p) {
return (int)$p !== 3;
});
// task2. sort params
asort($params);
// task3. get url
$params['url'] = $uri['path'];
return $uri['scheme'] . '://' . $uri['host'] . '/?' . http_build_query($params);
}
echo parse($str);
- Output for 5.6.0 - 5.6.26, 7.0.0 - 7.0.11, 7.1.0, 7.2.29 - 7.2.33, 7.3.16 - 7.3.33, 7.4.3 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.30, 8.2.0 - 8.2.24, 8.3.0 - 8.3.13
- https://www.somehost.com/?param4=1¶m3=2¶m1=4&url=%2Ftest%2Findex.html
preferences:
84.43 ms | 407 KiB | 5 Q