1

我有一个网址:

http://abv.com/

如何检查是否/en/在 URL 中,例如:

 http://abv.com/en/
4

4 回答 4

2

您可以使用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'";
}
于 2012-07-27T09:51:44.660 回答
1

您可以获取 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']);
于 2012-07-27T09:49:16.460 回答
1

最简单的方法是使用strpos()

if (strpos($url, '/en/') !== false) {
    // found!
}

但是,如果您只想检查路径,使用parse_url()可能会有所帮助:

if (strpos(parse_url($url, PHP_URL_PATH), '/en/') !== false) {
    // found in the path!
}
于 2012-07-27T09:51:12.747 回答
1

您可以使用 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] => )
于 2012-07-27T09:53:14.523 回答