检查URL是否具有PHP的特定字符串

时间:2011-08-19 08:23:53

标签: php string url

我想知道网址中是否有某个字词。

例如,如果车辆中有车辆,例如www.domain.com/car/或www.domain.com/car/audi/,它会回显“汽车存在”,如果没有任何东西可以回应'没有汽车。

16 个答案:

答案 0 :(得分:201)

尝试这样的事情。第一行构建您的URL,其余部分检查它是否包含单词“car”。

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


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

答案 1 :(得分:57)

我认为最简单的方法是:

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

答案 2 :(得分:21)

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

请参阅strpos manual

答案 3 :(得分:10)

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

答案 4 :(得分:4)

为我使用php

<?
    print_r($_POST);
?>

答案 5 :(得分:4)

这对我有用:

// Check if URL contains the word "car" or "CAR"
   if (stripos($_SERVER['REQUEST_URI'], 'car' )!==false){
   echo "Car here";
   } else {
   echo "No car here";
   }
If you want to use HTML in the echo, be sure to use ' ' instead of " ".
I use this code to show an alert on my webpage https://geaskb.nl/ 
where the URL contains the word "Omnik" 
but hide the alert on pages that do not contain the word "Omnik" in the URL.

说明条带:https://www.php.net/manual/en/function.stripos

答案 6 :(得分:3)

查看strpos功能:

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

答案 7 :(得分:3)

strstr当时不存在?

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

这一定是最简单的方法之一吗?

答案 8 :(得分:2)

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


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

这似乎有效。

答案 9 :(得分:1)

您可以尝试类似于wordpress工作原理的.htaccess方法。

参考:http://monkeytooth.net/2010/12/htaccess-php-how-to-wordpress-slugs/

但是我不确定那是不是你在寻找什么呢...

答案 10 :(得分:1)

当然这是正确的方式......

$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 :(得分:1)

从PHP 8(2020-11-24)开始,您可以使用str_contains

if (str_contains('www.domain.com/car/', 'car')) {
   echo 'car is exist';
} else {
   echo 'no cars';
}

答案 12 :(得分:0)

从名为$_GET的全局变量接收的URL参数,实际上是一个数组。因此,要知道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
}

答案 13 :(得分:0)

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;
}

答案 14 :(得分:-1)

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

(&gt; PHP 5)

答案 15 :(得分:-1)

您可以将此功能用作此代码先生

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