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

用PHP检查URL是否有特定字符串,php,string,url,Php,String,Url,我想知道URL中是否有单词 例如,如果URL中有car这个词,比如www.domain.com/car/或www.domain.com/car/audi/它会回显“car is exist”,如果没有,它会回显“no cars” if( strpos( $url, $word ) !== false ) { // Do something } 请参见查看功能: if(false !== strpos($url,'car')) { echo 'Car exists!'; } el

我想知道URL中是否有单词

例如,如果URL中有car这个词,比如www.domain.com/car/或www.domain.com/car/audi/它会回显“car is exist”,如果没有,它会回显“no cars”

if( strpos( $url, $word ) !== false ) {
    // Do something
}
请参见查看功能:

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

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

参考:


但我不确定这是否正是你想要的。试试这样。第一行构建URL,其余的检查是否包含单词“car”


这似乎有效。

这肯定是正确的解决方法

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


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

否则它应该以相反的方式报告…

strstr当时不存在

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

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

我认为最简单的方法是:

if (strpos($_SERVER['REQUEST_URI'], "car") !== false){
// car found
}
用php为我工作

if(strpos($_SERVER['REQUEST_URI'], 'shop.php') !== false){
echo 'url contains shop';
}
这对我很有用:

// Check if URL contains the word "car" or "CAR"
   if (stripos($_SERVER['REQUEST_URI'], 'car' )!==false){
   echo "Car here";
   } else {
   echo "No car here";
   }
如果要在回显中使用HTML,请确保使用“”而不是“”。 我使用此代码在我的网页上显示警报https://geaskb.nl/ 其中URL包含单词“Omnik” 但是在URL中不包含单词“Omnik”的页面上隐藏警报。 解释:从PHP8(2020-11-24)开始,您可以使用:


这也取决于你是否只是在寻找汽车这个词,或者你是否也想要汽车的类型。您可能需要preg_match、strpos、explode和in_array/array_search,这取决于具体情况。如果您想要一些简单的东西,只需按照建议使用strpos,您可能会发现它很有用,如中所示。如果url包含单词“害怕”,该怎么办?是否应该打印“汽车存在”?如果不是,这里的大多数答案都是错误的。这是一个很好的解决方案,但要小心,这将匹配一个在任何地方都有汽车的URL。例如
www.domain.com/car pricing
www.domain.com/carparks
将验证并输出
car exists
。也许这对你来说并不重要,但对其他人来说可能是相关的<代码>$url='http://'$_服务器['SERVER_NAME']$_服务器['REQUEST_URI']
echo计数(strpos($url,'category')
为我提供
1
,无论
category
是否存在于Url中。知道为什么吗?太好了。。。我需要匹配,以找到任何URL与“事件”在他们和它的工作!在过去的一周里,我已经在4个不同的项目中使用了好几次。简单。谢谢。这不会测试完整的url;只有这条路。它不会针对方案、域、端口、查询参数或片段进行测试。为什么要费心发布这样的答案?这里的方式不对。
if (strpos($_SERVER['REQUEST_URI'], "car") !== false){
// car found
}
if(strpos($_SERVER['REQUEST_URI'], 'shop.php') !== false){
echo 'url contains shop';
}
// 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.
if (str_contains('www.domain.com/car/', 'car')) {
   echo 'car is exist';
} else {
   echo 'no cars';
}