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

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

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

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

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

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

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

См. Руководство по strpos

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

В то время strstr не существовало?

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

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

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

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

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

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

 $url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; if (!strpos($url,'mysql')) { echo 'No mysql.'; //swapped with other echo statement } else { echo 'Mysql exists.'; } 

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

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

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

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

Параметры 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 } 
 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; } 
 $url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; if ( strpbrk($url, 'test') ) { // Do something... } else { // Do another thing } 

(> PHP 5)