0

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


谢谢

4

3 回答 3

4
if (in_array('en', explode('/', $url))) { 
    ...
}
于 2013-06-11T03:59:39.440 回答
0

上面的答案可能是您正在寻找的,但除了搜索您的价值之外,这里是实际检索 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);

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

于 2013-06-11T05:18:48.733 回答
0

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

像这样

$url = 'www.example.com/dummy1/dummy2/dummy3/en/dummy4/tim/';

if (strpos($url,'en') !== false) {
    echo 'true';
}
于 2013-06-11T04:13:33.867 回答