如何检查url中的某些值



是否可以检查url是否包含某些值,例如url "www.example.com/dummy1/dummy2/dummy3/en/dummy4/tim/"是否有"en"


由于

if (in_array('en', explode('/', $url))) { 
    ...
}

上面的答案可能是您正在寻找的,但除了搜索您的值之外,这里是如何实际检索URL…

$url = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; //example.com/dummy1/dummy2/dummy3/en/dummy4/tim/
$url = $_SERVER['REQUEST_URI']; // /dummy1/dummy2/dummy3/en/dummy4/tim/

我假设你想知道一个用户是否在一个包含"en"的页面上,在这种情况下,你真的不需要检查域名,所以你可能会做一些像…

$contains_en = (strpos($_SERVER['REQUEST_URI'], 'en') !== false ? true : false);

你应该注意使用strpos也会返回true(实际上它会返回匹配的字符串的开始位置),如果你有字符串en在url的任何地方,例如单词then将返回true,所以如果你正在寻找/en/你可以使用in_array方法描述的其他用户来检查,或者简单地检查字符串'/en/'使用这个方法

您可以使用strpos函数查找一个字符串在另一个字符串中的出现情况:

这样的

$url = 'www.example.com/dummy1/dummy2/dummy3/en/dummy4/tim/';
if (strpos($url,'en') !== false) {
    echo 'true';
}

最新更新