我有一个网址:
http://abv.com/
如何检查是否/en/
在 URL 中,例如:
http://abv.com/en/
您可以使用strpos()
.
$mystring = 'abc';
$findme = 'a';
$pos = strpos($mystring, $findme);
// The !== operator can also be used. Using != would not work as expected
// because the position of 'a' is 0. The statement (0 != false) evaluates
// to false.
if ($pos !== false) {
echo "The string '$findme' was found in the string '$mystring'";
echo " and exists at position $pos";
} else {
echo "The string '$findme' was not found in the string '$mystring'";
}
您可以获取 URL 并用斜杠分割它 - 使用该.explode()
函数。
$url = 'http://abv.com/en/';
$urlParts = explode('/',$url);
array_shift($urlParts);
array_shift($urlParts);
由于双斜杠,使用array_shift()
两次删除不需要的和空白项...http
Array
(
[0] => abv.com
[1] => en
[2] =>
)
.parse_url()
还具有一些处理 URL 字符串的有用功能。你也应该检查一下。
$url = 'http://abv.com/en/';
$urlParts = parse_url($url);
$pathParts = explode('/',$urlParts['path']);
最简单的方法是使用strpos()
:
if (strpos($url, '/en/') !== false) {
// found!
}
但是,如果您只想检查路径,使用parse_url()
可能会有所帮助:
if (strpos(parse_url($url, PHP_URL_PATH), '/en/') !== false) {
// found in the path!
}
您可以使用 php explode 函数分隔 url,然后检查 url 是否包含“en”(国家代码)。
$url = 'http://abv.com/en/';
$expurl = explode('/', $url);
print_r($expurl);
foreach ($expurl as $key => $value) {
if ($value == 'en') {
# do what you want
}
}
数组结果
Array ( [0] => http: [1] => [2] => abv.com [3] => en [4] => )