Проверьте, имеет ли URL определенную строку с PHP

Я хотел бы знать, есть ли какое-то слово в URL-адресе.

Например, если текстовый автомобиль находится в URL-адресе, например, www.domain.com/car/или www.domain.com/car/audi/, это будет означать, что "автомобиль существует", и если он ничего не повторит, нет автомобилей ".

Ответы

Ответ 1

Попробуйте что-нибудь подобное. Первая строка строит ваш URL-адрес, а остальные проверяют, содержит ли оно слово "автомобиль".

$url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];


if (strpos($url,'car') !== false) {
    echo 'Car exists.';
} else {
    echo 'No cars.';
}

Ответ 2

Я думаю, что самый простой способ:

if (strpos($_SERVER['REQUEST_URI'], "car") !== false){
// car found
}

Ответ 3

$url = " www.domain.com/car/audi/";
if (strpos($url, "car")!==false){
    echo "Car here";
}
else {
   echo "No car here :(";
}

См. strpos руководство

Ответ 4

if( strpos( $url, $word ) !== false ) {
    // Do something
}

Ответ 5

работал для меня с PHP

if(strpos($_SERVER['REQUEST_URI'], 'shop.php') !== false){
echo 'url contains shop';
}

Ответ 6

strstr тогда не существовало?

if(strstr($_SERVER['REQUEST_URI'], "car")) {
   echo "car found";
}

Это должен быть один из самых простых методов?

Ответ 7

Посмотрите на функцию strpos:

if(false !== strpos($url,'car')) {
    echo 'Car exists!';
}
else {
    echo 'No cars.';
}

Ответ 8

Вы можете попробовать метод .htaccess, похожий на концепцию работы Wordpress.

Ссылка: http://monkeytooth.net/2010/12/htaccess-php-how-to-wordpress-slugs/

Но я не уверен, что это то, что вы ищете именно для того, чтобы сказать..

Ответ 9

$url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];


if (!strpos($url,'car')) {
    echo 'Car exists.';
} else {
    echo 'No cars.';
}

Кажется, что это работает.

Ответ 10

Конечно, это правильный путь...

$url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];


if (!strpos($url,'mysql')) {
echo 'No mysql.'; //swapped with other echo statement
} else {
echo 'Mysql exists.';
}

В противном случае его отчет будет обратным образом...

Ответ 11

Параметры URL и полученные от глобальной переменной $_GET, которая на самом деле является массивом. Итак, чтобы узнать, содержит ли URL-адрес параметр, вы можете использовать функцию isset().

if (isset($_GET['yourparametername'])) {
//The parameter you need is present
}

Впоследствии вы можете создать отдельный массив такого параметра, который необходимо прикрепить к URL-адресу.

Например:

if(isset($_GET['param1'])) {
\\The parameter you need is present
$attachList['param1'] = $_GET['param1'];
}

if(isset($_GET['param2'])) {
$attachList['param2'] = $_GET['param2];
}

Теперь, чтобы узнать, нужен ли вам символ ?, просто посчитайте этот массив

if(count($attachList)) {
    $link .= "?";
    // and so on
}

Update:

Чтобы узнать, установлен ли какой-либо параметр, просто оцените $_GET

if(count($_GET)) {
     //some parameters are set
}

Ответ 12

if ( stristr( SITE_HOST, 'your site' ) ) {
    $protocol = ( !empty( $_SERVER['HTTPS'] ) && $_SERVER['HTTPS'] == 'on' ) ? 'https://' : 'http://';
    $request = ( !empty( $_SERVER['HTTP_X_ORIGINAL_REQUEST'] ) ) ? $_SERVER['HTTP_X_ORIGINAL_REQUEST'] : $_SERVER['REQUEST_URI'];
    echo $protocol .'your site'. $request;
}

Ответ 13

Вы можете использовать эту функцию в качестве этого кода, сэр

 if((strpos($_SERVER['REQUEST_URI'],'car') !== false))
        echo'<h3 class=" edit-top">Car Exist</h3>';
    else
        echo'<h3 class=" edit-top">Not</h3>';

Ответ 14

если вы хотите проверить весь URL-адрес (включая имя домена и любой фрагмент внутри URL-адреса), вам потребуется HTTP_HOST

if (strpos($_SERVER['HTTP_HOST'], "windowsmaximizer.com/de/") !== false){
    echo 'i contain windowsmaximizer.com/de/';
}

вывод: у меня есть windowsmaximizer.com/de/

Ответ 15

$url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
if ( strpbrk($url, 'test') ) {
    // Do something...
}
else {
    // Do another thing
}

( > PHP 5)