Thông thường thì chúng ta vẫn có một số trường hợp cần xử lý đường dẫn url, thành một url mới. Không chứa params nào đó
Mục lục
Qui trình thực hiện
Bước 1: Xóa khoảng trắng
$url= trim($url, '/');
Bước 2: Thêm schema
if (!preg_match('#^http(s)?://#', $url)) { $url = 'http://' . $url; }
Bước 3: parse_url đường dẫn để lấy thông tin
$urlParts = parse_url($url);
Thường khi parse sẽ có các thông tin cần lưu ý:
- scheme – e.g. http
- host
- port
- user
- pass
- path : Đường dẫn trước chuỗi query string.
- query – after the question mark
?
Các params được gởi kèm get - fragment – after the hashmark
#
Các thông tin cần lưu ý là: path, query, fragment.
Bước 4: Now remove www. from the URL
$domain = preg_replace('/^www\./', '', $urlParts['host']);
Bước 5: Biến query thành mảng
$arr = explode(“&”, $query);
Remove params mong muốn: unset($arr[$param]);
Bước 6: Tạo lại chuỗi query string
$query = http_build_query($arr);
Bước 7: Ghép lại tạo url mới.
Các link tham khảo:
https://www.php.net/manual/en/function.parse-url.php
https://www.php.net/manual/en/function.http-build-query.php
https://www.php.net/manual/en/ref.url.php