1

私はURLを持っています:

http://abv.com/

URL に含まれているかどうかを確認するにはどうすればよいですか/en/。たとえば、次のようになります。

 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);

2回使用すると、二重スラッシュのため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 の爆発関数を使用して 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 に答える