私は次のタイプのURLを持っています
http://domain.com/1/index.php
http://domain.com/2/index.php
http://domain.com/3/index.php
http://domain.com/4/index.php
URLから番号のみを取得する必要があります。
例えば、
http://domain.com/1/index.phpにアクセスすると、1を返す必要があります。
私は次のタイプのURLを持っています
http://domain.com/1/index.php
http://domain.com/2/index.php
http://domain.com/3/index.php
http://domain.com/4/index.php
URLから番号のみを取得する必要があります。
例えば、
http://domain.com/1/index.phpにアクセスすると、1を返す必要があります。
をご覧くださいparse_url
。
$url = parse_url('http://domain.com/1/index.php');
編集:$_SERVER['REQUEST_URI']
現在のURLを取得するには、を見てください。の代わりにそれを使用してください$url['path']
。
次に、で分割$url['path']
して/
、最初の要素を取得できます。
// use trim to remove the starting slash in 'path'
$path = explode('/', trim($url['path'], '/'));
$id = $path[0]; // 1
提供された情報を考えると、これはあなたが求めることを実行します...それは私が堅牢なソリューションと呼ぶものではありません:
$url = $_SERVER['PATH_INFO']; // e.g.: "http://domain.com/1/index.php";
$pieces = explode("/", $url);
$num = $pieces[3];
explode('/', $_SERVER['REQUEST_PATH']);
)intval()
、または単純な(int)
キャスト)であることを確認してください。このために正規表現を使用する必要はありません。
preg_match()を使用してドメインを照合し、最初のセグメントを取得します。
$domain = http://www.domain.com/1/test.html
preg_match("/http:\/\/.*\/(.*)\/.*/", "http://www.domain.com/1/test.html");
echo $matches[1]; // returns the number 1 in this example.