Заявление, которое проверяет, содержит ли URL определенный путь? - PullRequest
0 голосов
/ 13 октября 2018

Есть ли оператор if, который позволяет мне проверить, содержит ли URL определенный путь?

В моем конкретном случае (с использованием WordPress) я пытаюсь проверить, содержит ли URL-адрес /store / https://www.website.com.au/store/brand/ Так что, возможно, что-то после этого пути ...

Спасибо за вашу помощь!

Ответы [ 2 ]

0 голосов
/ 13 октября 2018

Я предлагаю использовать функцию WordPress, такую ​​как is_singular, is_tax и т. Д.

function get_current_url()
{
    $pageURL = 'http';
    if (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on") {
        $pageURL .= "s";
    }
    $pageURL .= "://";
    if ($_SERVER["SERVER_PORT"] != "۸۰") {
        $pageURL .= $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"] . $_SERVER["REQUEST_URI"];
    } else {
        $pageURL .= $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"];
    }
    return $pageURL;
}

$url = get_current_url();

if (strpos($url, '/store/') !== false) {
    echo 'found';
}else{
    echo 'not found';
}
0 голосов
/ 13 октября 2018

Используйте функцию strpos().он в основном находит позицию первого вхождения подстроки в данной строке.Если подстрока не найдена, возвращается false:

// input url string
$url = 'https://www.website.com.au/store/brand/';

$path_to_check_for = '/store/';

// check if /store/ is the url string
if ( strpos($url, $path_to_check_for)  !== false ) {

    // Url contains the desired path string
    // your remaining code to do something in case path string is there

} else {

    // Url does not contain the desired path string
    // your remaining code to do something in case path string is not there
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...