0

我们有一个类似http://site.com/people/593765-barack-obama?sort=popular的网址

如何仅获取链接的 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

我猜 shorts 是 URL 的“catch”文件,而 {somenumber}-{anythinelse} 是您获得的参数,我只想分解该参数。

list($iNumber, $sAnything) = explode("-", $sParam1);
于 2012-06-07T09:24:57.670 回答
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 回答
0

您将需要从

/shots/593765-brainzap?list=following

这是$_SERVER['REQUEST_URI']页面的。

于 2012-06-07T09:22:44.170 回答