Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何检查url中的某些值_Php_Url_String Search - Fatal编程技术网

Php 如何检查url中的某些值

Php 如何检查url中的某些值,php,url,string-search,Php,Url,String Search,是否可以检查url是否包含某些值,例如url“www.example.com/dummy1/dummy2/dummy3/en/dummy4/tim/”是否具有“en” 谢谢您可以使用该函数查找一个字符串在另一个字符串中的出现: 像这样 $url = 'www.example.com/dummy1/dummy2/dummy3/en/dummy4/tim/'; if (strpos($url,'en') !== false) { echo 'true'; } 您可以使用函数来查找一个字

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


谢谢

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

像这样

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

if (strpos($url,'en') !== false) {
    echo 'true';
}
您可以使用函数来查找一个字符串在另一个字符串中的出现情况:

像这样

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

if (strpos($url,'en') !== false) {
    echo 'true';
}

上面的答案可能就是你想要的,但是除了搜索你的值之外,下面是如何实际检索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_数组方法进行检查,或者使用此方法简单地检查字符串“/en/”

上面的答案可能就是您要查找的,但是除了搜索您的值之外,下面是如何实际检索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_数组方法进行检查,或者简单地使用此方法检查_数组中的字符串“/en/”

('en',explode(“/”,$url))
可能会起作用,前提是您的参数没有任何异常情况<代码>解析_url然后再这样做,正如@zaw所建议的那样,会更好:)
在_数组('en',explode('/',$url))
中可能会工作,假设您的参数没有什么奇怪的变化<代码>解析url然后再这样做,正如@zaw所建议的那样,这样做会更好:)