Привет! URL-адреса подобны адресам в Интернете, и иногда нам приходится работать с ними в наших проектах PHP. Одной из распространенных задач является извлечение URL-адреса без строки запроса. Проще говоря, мы хотим удалить часть URL-адреса, которая идет после вопросительного знака (?). Давайте приступим к делу и рассмотрим несколько способов добиться этого!
Метод 1: использование parse_url() и http_build_query()
$url = "https://example.com/page.php?id=123&name=John";
$parsedUrl = parse_url($url);
$queryString = isset($parsedUrl['query']) ? $parsedUrl['query'] : '';
$baseUrl = str_replace('?' . $queryString, '', $url);
echo $baseUrl; // Output: https://example.com/page.php
Метод 2: использование strtok()
$url = "https://example.com/page.php?id=123&name=John";
$baseUrl = strtok($url, '?');
echo $baseUrl; // Output: https://example.com/page.php
Метод 3: использование preg_replace()
$url = "https://example.com/page.php?id=123&name=John";
$baseUrl = preg_replace('/\?.*/', '', $url);
echo $baseUrl; // Output: https://example.com/page.php
Метод 4. Использование substr() и strpos()
$url = "https://example.com/page.php?id=123&name=John";
$queryStart = strpos($url, '?');
$baseUrl = ($queryStart !== false) ? substr($url, 0, $queryStart) : $url;
echo $baseUrl; // Output: https://example.com/page.php
Это всего лишь несколько методов извлечения URL-адреса без строки запроса в PHP. Каждый метод имеет свои преимущества и может подходить для разных сценариев в зависимости от ваших конкретных требований. Не стесняйтесь экспериментировать и найдите тот, который подойдет вам лучше всего!
Удачного кодирования и манипуляций с URL!