0

http://site.com/people/593765-barack-obama?sort=popularのような URL があります。

リンクの ID 部分だけを取得するにはどうすればよいですか? この例では 593765 です。

なのでパターンはhttp://site.com/people/{somenumber}-{anythingelse}

正規表現を使用して取得する方法がわかりません。

4

5 に答える 5

3
preg_match('#/(\d+)-#', $url, $m);
echo $m[1]; // 593765
于 2012-06-07T09:28:17.500 に答える
1

正規表現パターン:

#/(\d+)-.+\??#

使用例:

preg_match('#/(\d+)-.+\??#', 'http://site.com/people/593765-barack-obama?sort=popular', $matches);
var_dump($matches[1]);

出力:

string(6) "593765"
于 2012-06-07T09:28:49.940 に答える
1

正規表現を使用:

/people\/([0-9]+)\-/

<?php
    //$pattern = $_SERVER['REQUEST_URI'];
    $pattern = "http://site.com/people/593765-barack-obama?sort=popular";
    preg_match('/people\/([0-9]+)\-/', $pattern, $match);
    if (isset($match[1])) {
        echo "The number is: " . $match[1];
    }
?>
于 2012-06-07T09:29:03.957 に答える
1

shorts は URL の「キャッチ」ファイルであり、{somenumber}-{anythinelse} は取得するパラメーターであると思います。パラメーターを展開するだけです。

list($iNumber, $sAnything) = explode("-", $sParam1);
于 2012-06-07T09:24:57.670 に答える
0

あなたはそれをフィルタリングする必要があります

/shots/593765-brainzap?list=following

これは$_SERVER['REQUEST_URI']ページのです。

于 2012-06-07T09:22:44.170 に答える