it-swarm.com.ru

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

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

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

82
pisoe

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

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


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

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

if (strpos($_SERVER['REQUEST_URI'], "car") !== false){
// car found
}
54
Santi Nunez
$url = " www.domain.com/car/audi/";
if (strpos($url, "car")!==false){
    echo "Car here";
}
else {
   echo "No car here :(";
}

Смотрите strpos руководство

19
J0HN
if( strpos( $url, $Word ) !== false ) {
    // Do something
}
8
nobody

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

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

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

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

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

3
Mathijs Segers

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

if(false !== strpos($url,'car')) {
    echo 'Car exists!';
}
else {
    echo 'No cars.';
}
2
Jeff
$url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];


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

Это похоже на работу.

1
Richard Andrew Lee

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

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


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

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

1
Mikeys4u

Параметры 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
}

Обновление:

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

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

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

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

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

0
chris
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;
}
0
derald collado